Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 20.08.2011, 19:35
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Изменение юрл адреса в адресной строке браузера
Помогите решить проблему с изменением адреса сайта в адресной строке браузера.
На сайте практически всё строится на ajax. При нажатии на какую-нибудь ссылку запускается это history.pushState(null, null, 'адрес_ссылки');
Но если пользователь нажмёт "назад" в своём браузере, то юрл в строке изменится, а содержимое на странице нет((
Пробовал сделать как сдесь http://htmlbook.ru/html5/history (последний этап описанный в статье) но у меня по другому сделана загрузка содержимого.
Ответить с цитированием
  #2 (permalink)  
Старый 20.08.2011, 19:49
Профессор
Отправить личное сообщение для Sweet Посмотреть профиль Найти все сообщения от Sweet
 
Регистрация: 16.03.2010
Сообщений: 1,618

Какая разница, как сделана загрузка содержимого. Есть событие "popstate". Ловите его и меняете содержимое на странице как хотите.
Ответить с цитированием
  #3 (permalink)  
Старый 20.08.2011, 21:16
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Sweet,
в том то и дело, что я не пойму как применить popstate.
Ответить с цитированием
  #4 (permalink)  
Старый 20.08.2011, 23:12
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

у event есть title, URL и state

<script>
window.addEventListener("popstate", function(e) {
  alert([ e.state, e.URL, e.title, e.type ].join('\n'));
});


history.replaceState({page: 3}, "title 3", "?page=3");
</script>

Последний раз редактировалось melky, 20.08.2011 в 23:15.
Ответить с цитированием
  #5 (permalink)  
Старый 22.08.2011, 15:49
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

melky,
для чего этот код?
Ответить с цитированием
  #6 (permalink)  
Старый 22.08.2011, 15:50
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Я js знаю поверхностно, по этому иногда могу задавать глупые вопросы, вы уж простите
Ответить с цитированием
  #7 (permalink)  
Старый 23.08.2011, 16:39
Профессор
Посмотреть профиль Найти все сообщения от Solovei95
 
Регистрация: 15.03.2011
Сообщений: 353

Мой тебе совет:
window.location = URL;

В HTML5:
window.open(URL,"_target");
Ответить с цитированием
  #8 (permalink)  
Старый 24.08.2011, 18:51
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

Solovei95,
вообще не в тему(
Ответить с цитированием
  #9 (permalink)  
Старый 24.08.2011, 19:00
sinistral
Посмотреть профиль Найти все сообщения от melky
 
Регистрация: 28.03.2011
Сообщений: 5,418

Сообщение от (Sandr) Посмотреть сообщение
Но если пользователь нажмёт "назад" в своём браузере, то юрл в строке изменится, а содержимое на странице нет((
Сообщение от Sweet Посмотреть сообщение
Какая разница, как сделана загрузка содержимого. Есть событие "popstate". Ловите его и меняете содержимое на странице как хотите.

Сообщение от melky Посмотреть сообщение
у event есть title, URL и state

<script>
window.addEventListener("popstate", function(e) {
  alert([ e.state, e.URL, e.title, e.type ].join('\n'));
});


history.replaceState({page: 3}, "title 3", "?page=3");
</script>
разжёвано же, подчёркнуто, и пример написан
Ответить с цитированием
  #10 (permalink)  
Старый 25.08.2011, 03:06
Профессор
Отправить личное сообщение для (Sandr) Посмотреть профиль Найти все сообщения от (Sandr)
 
Регистрация: 14.10.2010
Сообщений: 376

melky,
сделал так
window.addEventListener("popstate", function(e) {
document.location = document.referrer;
});

В роде бы работает. Как вы думаете, правильно ли?
Ответить с цитированием
Ответ


Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отследить изменение размера браузера? br102 ExtJS 9 22.11.2010 16:10
Изменение текста в адресной строке Wagner Events/DOM/Window 6 13.09.2010 14:30
Как изменить адрес в адресной строке браузера? xqx Events/DOM/Window 2 24.04.2010 17:46
Как можно изменить URL в адресной строке браузера? балерун Events/DOM/Window 12 17.11.2009 13:08
Изменение текста в строке адреса romosyto Общие вопросы Javascript 3 07.05.2009 10:19