Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #51 (permalink)  
Старый 16.01.2012, 23:48
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

событие срабатывает если вы в браузере нажали кнопку назад или вперед.

<script type="text/javascript" src="http://code.spb-piksel.ru/history-1.2.4.min.js"></script>
<script type="text/javascript">
    var method = window.addEventListener ? ['addEventListener', ''] : ['attachEvent', 'on'];
    window[ method[ 0 ] ]( method[ 1 ] + 'popstate', function( e ) {
        var loc = e.location || document.location;
        alert( "return to: " + loc );
    }, false);

    setTimeout(function() {
        history.pushState({page: 1}, "title 1", "?page=1");
    }, 2000);
</script>
Ответить с цитированием
  #52 (permalink)  
Старый 16.01.2012, 23:53
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Жаль. Значит всё-таки придётся следить за сменой урла. Спс за ответ
Ответить с цитированием
  #53 (permalink)  
Старый 17.01.2012, 00:00
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra
Жаль. Значит всё-таки придётся следить за сменой урла. Спс за ответ
что то не совсем вас понимаю, зачем следить? меняете url вы же зами скриптом, а значит знаете о том что его сменили. Вот если пользователь сменит ручками url, или нажмет назад, вперед то сработает событие.. Именно так и работают нативные функции history API тоесть от библиотеки это не зависит. Потому что она работает по тем же принципам что и нативные функции.
Ответить с цитированием
  #54 (permalink)  
Старый 17.01.2012, 01:19
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Посмотрел Ваши функции на сайте и разобрался
Ответить с цитированием
  #55 (permalink)  
Старый 22.01.2012, 23:26
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

И снова я и снова ie Страничка посылает ajax запросы, и вот иногда когда приходят данные IE вызывает JSON.parse (не из моей функции, а походу где-то в либе) с значением null. Отключаю Ваш скрипт, сё нормально сразу. Баг не баг, я пробовал на ie8-9.
Ответить с цитированием
  #56 (permalink)  
Старый 23.01.2012, 00:48
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra Посмотреть сообщение
И снова я и снова ie Страничка посылает ajax запросы, и вот иногда когда приходят данные IE вызывает JSON.parse (не из моей функции, а походу где-то в либе) с значением null. Отключаю Ваш скрипт, сё нормально сразу. Баг не баг, я пробовал на ie8-9.
Не совсем понял, но если не сложно по подробнее... что конкретно происходит, какие ошибки возникают, что перестает работать, если есть возможность пришлите лог консоли.. СПС
Ответить с цитированием
  #57 (permalink)  
Старый 23.01.2012, 03:19
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Нашёл косяк. У меня json либа была старая, и JSON.parse(null) вылетал в ие.
Вот тут data == null.
// dispatch "popstate" event if location changed
		firePopState = function( location ) {

			his.state = null;
			if ( window.sessionStorage ) {

				var data = sessionStorage.getItem( lastHash );

				if ( window.JSON && JSON.parse ) {
					his.state = JSON.parse( data );
				} else {
					his.state = (new Function( "return " + data ))();
				}
Ответить с цитированием
  #58 (permalink)  
Старый 23.01.2012, 08:21
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra
Нашёл косяк. У меня json либа была старая, и JSON.parse(null) вылетал в ие.
Вот тут data == null.
Да спасибо я исправил, можете скачать исправленную версию в первом топике.
Ответить с цитированием
  #59 (permalink)  
Старый 01.02.2012, 00:56
64j 64j вне форума
Новичок на форуме
Отправить личное сообщение для 64j Посмотреть профиль Найти все сообщения от 64j
 
Регистрация: 30.01.2012
Сообщений: 1

и всё таки если обновить страницу то переходим на главную страницу, а URL не меняется, логичнее оставаться на этой же странице.
а сдругой стороны кажется это не возможно... к сожалению знания не такие глубокие , чтобы реализовать подобное
Ответить с цитированием
  #60 (permalink)  
Старый 01.02.2012, 01:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от 64j
и всё таки если обновить страницу то переходим на главную страницу, а URL не меняется, логичнее оставаться на этой же странице.
а сдругой стороны кажется это не возможно... к сожалению знания не такие глубокие , чтобы реализовать подобное
хм... почему вы так решили? Вроде как я делал с учетом того что бы при обновлении страницы срабатывало событие popstate в случае если мы находимся не на главной. Вы можете посмотреть на сайт http://history.spb-piksel.ru/ по обновлять страницу, и увидите что страница все таже после обновления что и была до обновления.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
alert для всех браузеров кроме IE mousesport Javascript под браузер 6 06.04.2011 16:45