Javascript.RU

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

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

Обновил версию, исправил работу с относительными ссылками, и добавил дополнительный параметр по просьбе трудящихся =)
Ответить с цитированием
  #43 (permalink)  
Старый 16.01.2012, 20:59
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Странное поведение в IE 9. Урл такого вида http://12.345.678.999:20000/home.htm превращает в такой http://12.345.678.999:20000/#home.htm. И невозможно загрузить страницу
Ответить с цитированием
  #44 (permalink)  
Старый 16.01.2012, 21:48
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra Посмотреть сообщение
Странное поведение в IE 9. Урл такого вида http://12.345.678.999:20000/home.htm превращает в такой http://12.345.678.999:20000/#home.htm. И невозможно загрузить страницу
А что вы ожидали? что магическим образов в ИЕ9 появится полнофункциональная поддержка pushState и в строке адреса будет поддерживаться нормальный юрл?
Естественно работа с этой библиотекой подразумевает работу с якорем. если не хотите что бы она меняла юрл, запретите ей, указав параметр redirect=false
<script type="text/javascript" src="history-1.2.3.js?redirect=false"></script>
Ответить с цитированием
  #45 (permalink)  
Старый 16.01.2012, 22:05
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Вы бы хоть написали, что в ие не будет работать.
Ответить с цитированием
  #46 (permalink)  
Старый 16.01.2012, 22:09
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от zebra
Вы бы хоть написали, что в ие не будет работать.
собственно библиотека написана какраз для недоразвитых браузеров. Она не работает в нормальных браузерах, там она просто простаивает. А в таких браузерах как ИЕ она какраз таки наоборот именно что и делает, дык это работает.

Если вы не понимаете принцип работы history API нативной версии, то для вас конечно же будет казаться что библа не работает. Советую для начала почитать о том что такое history API в браузерах которые их поддерживают, и тогда сразу туча вопросов и недопониманий выскочит из головы.
Ответить с цитированием
  #47 (permalink)  
Старый 16.01.2012, 22:40
Профессор
Отправить личное сообщение для zebra Посмотреть профиль Найти все сообщения от zebra
 
Регистрация: 14.09.2011
Сообщений: 523

Та вот тетсил в фф/хром/ие9 простой пример
window.history.pushState({'note': 123 }, '', '?test=123');
alert(window.history.state);

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

Сообщение от zebra
Выводит объект только в фф. Я что-то делаю не так?
Обычно параметр state получают при срабатывании события popstate.

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

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

Всё никак не могу понять как history работает. Вроде всё просто, но событие не popstate не срабатывает. Или всё-таки popstate не ловит вызов pushState, и надо всё время следить за изменением урла?
window.onpopstate = function(event) {
          alert(11111);
        };
        setTimeout(function() {
            history.pushState({page: 1}, "title 1", "?page=1");
        }, 2000);
Ответить с цитированием
Ответ



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

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


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