Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.68/19: Рейтинг темы: голосов - 19, средняя оценка - 4.68
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
1

Можно ли отобразить другой URL не перезагружая страницу?

01.06.2010, 07:06. Показов 3685. Ответов 12
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Фреймовый сайт.
В строке URL всегда типа: http://myServer.com/index.html
А мне надо отобразить текущую страницу фрейма, отобразить адрес:
http://myServer.com/history.html
Это для того, чтобы юзер мог добавить конкретную страницу в избранное.
Как бы это сделать?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
01.06.2010, 07:06
Ответы с готовыми решениями:

Как отправить форму, не перезагружая страницу?
Собственно сабж. Раньше у меня получалось это сделать с помощью XHR. Теперь, как я понял, что-то...

Обновление материала каждые 10 секунд не перезагружая страницу
(cms joomla) вставил в материал php скрипт который с api binance выводит курс криптовалюты все...

Сабмит формы не перезагружая страницу
Нужен самый простой пример сабмита формы не перезагружая страницу на AJAX или jQuery там где...

Как можно записать данные в сессию не перезагружая страницу?
есть форма и кнопка к этой форме. нужно все данные из формы при клике на кнопку записать в сессию,...

12
4 / 4 / 3
Регистрация: 25.05.2009
Сообщений: 2,576
01.06.2010, 10:07 2
менять путь в строке адреса скриптом нельзя
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
01.06.2010, 11:27 3
В каждую страницу с полезным содержимым добавляем код JavaScript проверяющий наличие необходимой фреймовой структуры, и если она отсутствует, то скрипт вызывает location.replace() с адресом вида
/index.html?url=/history.html (для случая когда обращение идет к файлу history.html, где index.html это файл с элементами frameset). index.html должен создать правильную структуру фреймов с учетом переданного ему параметра url. Это можно делать серверным скриптом (предпочтительный метод) или JavaScript-ом (разбор window.location, затем document.write).
Чтобы в адресной строке всегда был правильный адрес ссылки на полезное содержимое надо ставить так:
<a href='/index.html?url=/history.html'>history.html</a>
Что очень неудобно когда страниц много, или так:
<a href='/history.html' target='_top'>history.html</a>
Что приведет к замедлению загрузки из-за дополнительногг редиректа.

Выбор за вами

P.S. Возможно имеет смысл задуматься так ли вам нужны фреймы.
0
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
01.06.2010, 13:37  [ТС] 4
Вот спасибо! Помогла конструкция:
Код
<a href='history.html' target='_top'>О компании</a>
И в строке адреса отображается то, что надо, а именно history.html
0
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
01.06.2010, 13:47  [ТС] 5
Э, нет! Редирект-же происходит... а мне этого как раз и не надо. Не проходит номер.
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
01.06.2010, 14:36 6
Объясните подробней что вы хотите сделать?
0
kettle
01.06.2010, 15:43 7
Alex!
А может тебе сделать ссылку, для добавления в фавориты?
<a href='' onClick='window.external.AddFavorite('http://yandex.ru', 'Add this site'); return false;'>Add favorite</a>
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
01.06.2010, 15:57  [ТС] 8
Проблема в том, что при моем варианте сайта, как я уже говорил, в адресной строке постоянно один и тот же URL, который ссылается на index.html невзирая на то, какая страница загружена в основной фрейм (в моем случае Frame2). Пользователь, при попытке добавить страницу (естественно ту, которая во Frame2) в избранное - получает ссылку на index.html. Вот я и хотел, чтобы в адресной строке отображался URL страницы, загруженной во Frame2. Редирект не проходит, потому, что во Frame1 хранятся значения переменных, которые при этом теряются.
Пока вижу 2 пути: 1 создание PHP сессий и тогда редирект пойдет (это дело будующей, но нескорой переработки сайта), 2 - вставить свой скрипт добавления страницы в избранное (а если пользователь воспользуется не моей кнопкой, а меню браузера?). Так, что пока эти пути меня пока не устраивают. Хотелось быстро побороть то, что есть.
0
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
01.06.2010, 16:42 9
Сложный случай. Получается что один фрейм всегда должен оставаться в неизменном состоянии. Проблема явно в изначальном планировании. Такое надо заранее продумывать. В качестве временного решения поможет решение kettle c AddFavorite (работает, кстати, только в MSIE). А в качестве постоянного - надо полностью сайт переделывать. На том же PHP, например.
0
kettle
01.06.2010, 19:09 10
А если другой вариант?
По onUnLoad записываем в cookie информацию на какой странице был пользователь, а в index, если есть cookie делаем редирект
kettle
01.06.2010, 19:12 11
Там же, в cookie можно сохранить и другие переменные из frame
85 / 61 / 69
Регистрация: 15.03.2007
Сообщений: 6,906
01.06.2010, 19:12 12
Мысль интересная, но посетитель далеко не всегда захочет возвращаться на ту же страницу где он был в последний раз.
0
1 / 1 / 0
Регистрация: 13.05.2009
Сообщений: 244
02.06.2010, 07:04  [ТС] 13
У пользователя может быть запрещена работа с cookie. Это тоже не выход.
Согласен с bazile, надо видимо сайт переделывать, а пока временное решение с AddFavorite.
А насчет изначального планирования... тут основным критерием была скорость загрузки страниц, а то зайдешь на некоторые сайты и при переходе по страницам... ну некрасиво это смотрится. В моем варианте устраивает буквально все, за исключением вот этой маленькой неприятности с адресной строкой, точнее с добавлением в избранное.
Огромное спасибо всем за советы.
0
02.06.2010, 07:04
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2010, 07:04
Помогаю со студенческими работами здесь

К2 отобразить в категории содержимое статьи не перезагружая страницы
Здравствуйте! Стоит задача, в категории К2 изменить представление вставив javascript табы(типа...

Вывести записи, соответствующие выбранному товару, из бд, не перезагружая страницу
есть список, типа &lt;li&gt;&lt;a href=&quot;#&quot;&gt; Телефоны &lt;/a&gt;&lt;/li&gt; &lt;li&gt;&lt;a href=&quot;#&quot;&gt; Планшеты &lt;/a&gt;&lt;/li&gt; и...

Надо вывести на asp страницу значения name, так, что при нажати на них происходила пересылка на страницу с соотвествующим значением url.
Помогите! Имеем бд Access, таблицу с полями id (nbr, uniq), name (txt), url (txt). Надо вывести...

Сколько можно добавить URL адресов в свою созданную Группу URl?
Добрый день. Подскажите пожалуйста, сколько можно добавить URL адресов в свою созданную Группу...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru