Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Popstate в webkit`ах (https://javascript.ru/forum/events/26443-popstate-v-webkit%60akh.html)

alexandr_v-vich 08.03.2012 21:48

Popstate в webkit`ах
 
Реализую динамическое изменение контента с помощью XMLHttpRequest. Меняю контент, с помощью pushstate меняю адрес, всё пока хорошо. Остаётся разобраться с переходами назад-вперёд. Ставлю так
window.addEventListener("popstate", function() {
  window.location = location.pathname;
});

firefox, opera - на ура.
Chrome, Safari - при событии popstate (загрузке, обновлении страницы, переходы) мерцает экран, в адресной строке постоянно меняется значок обновления на крестик и обратно. Я торможу этим, собственно, крестиком. Консоль выдаёт статус страницы "canceled" и тип "undefinded". В итоге всё загружено, нормально работает до следующего popstate. Что это за мерцание? Как избавиться от него?

devote 09.03.2012 02:11

Цитата:

Сообщение от alexandr_v-vich
window.location = location.pathname;

что это за прикол такой? Смысл юзать pushState но при этом обновлять страницу обычным способом?

alexandr_v-vich 09.03.2012 08:53

Смысл есть. Это сделано только на переходы...долго объяснять, так нужно.

alexandr_v-vich 09.03.2012 09:58

Заработало так:
window.setTimeout(function() {
  window.addEventListener("popstate", function() {
     window.location = location.pathname;
  }, false);
}, 1);

alexandr_v-vich 09.03.2012 09:58

Тема закрыта

KupueIIIKo 21.02.2013 18:36

Тему продолжу)
В FF TypeError: history is undefined с ссылкой на строку
pushState = history.pushState

danik.js 21.02.2013 19:12

Мужчина, вы что не видите? ТЕМА ЗАКРЫТА! :D

KupueIIIKo 21.02.2013 19:28

не в тот форум воткнул сообщение)


Часовой пояс GMT +3, время: 00:24.