Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   history рассширение для браузеров не поддерживающих pushState, replaceState (https://javascript.ru/forum/project/21077-history-rassshirenie-dlya-brauzerov-ne-podderzhivayushhikh-pushstate-replacestate.html)

dominicdeplorer 31.05.2012 10:41

Очень хороший модуль
 
все отлично получилось. Протестировал Мозилу, Хром, дошел до ИЕ и тут :help:
при нажатии кнопки Назад alert(JSON.stringify( history.state )); дает результат null а я там передаю все параметры для дальнейшей обработки
в других браузерах все работает нормально
в чем может быть проблема? Спасибо

devote 31.05.2012 12:20

dominicdeplorer,
А можно узнать какой именно ИЕ и примерно какие действия вы делаете, к сожаления я не смогу помочь если не буду иметь точностей и не смогу воспроизвести ошибку. Поэтому нужно что бы вы как можно точнее описали свои действия. Спасибо.

dominicdeplorer 31.05.2012 12:25

9 IE со всеми обновлениями
я вам написал в контакте, или можете найти меня в скайпе под таким же ником, и я смогу вам показать где я это пробую сделать
Спасибо

Deff 31.05.2012 12:46

devote,
:) К этому бы дописать библиотечку для кроссдоменного API обмена данными через window.name
Возможная структура данных в window.name Запросы и Ответы(
Запросы
[время, Запрос от: Имя.Хоста, DataBlock Запроса][время, Запрос от: Имя.Хоста, DataBlock Запроса]и.т.д
Ответы(данные)
[время,Имя.Хоста, данные][время,Имя.Хоста, данные][время,Имя.Хоста, данные] и.т.д
=====================================
Выставляем запрос - переходим на страницу Запроса
На 'Запросной':
выставляем Ответ(или занимаемся своими делами до времени Ч)
-Отдаём/(не отдаём) Данные, возможно сами выставляем Запрос, переходим на страницу запроса в истории
//На запросной Сама страница анализирует условия нужности ответа и новых запросов

devote 31.05.2012 13:22

Deff,
не совсем понял о чем вы, и к чему это? объясните подробнее что от этого хочется иметь?

Deff 31.05.2012 13:32

devote,
Запихиваем всю конструкцию во фрейм, при условии установки библиотек на обменивающихся ресурсах, - обеспечиваем оперативный кроссбраузерный аякс на несколько доменов

(*Собственно реализовывал на коленке, в той теме с самым первым вопросом

Deff 03.06.2012 22:39

На Хабре было бы оч востребовано,

Это Чат, CMS, единая межресурсная авторизация

dominicdeplorer 04.06.2012 17:57

а как кстати лучше проверить, поддерживает ли браузер HTML5???
Что бы знать каким способом формировать ссылку в строке браузера

devote 04.06.2012 18:37

Цитата:

Сообщение от dominicdeplorer
а как кстати лучше проверить, поддерживает ли браузер HTML5???
Что бы знать каким способом формировать ссылку в строке браузера

в моей библиотеке есть свойство history.emulate с помощью которого можно узнать что за браузер используется.
if ( history.emulate ) {
    // вы используете старую версию браузера, с хеш-ссылками
}
а без моей библы так:
if ( !history.pushState ) {
    // вы используете старую версию браузера, с хеш-ссылками
}

dominicdeplorer 07.06.2012 14:47

ктстати. помните мы тестировали в IE8? то все работало, а в IE9 нет, то сейчас наоборот))))) и проблему выловить не могу((

dominicdeplorer 07.06.2012 15:58

значение state пустое когда ходишь по истории(

devote 07.06.2012 19:20

Цитата:

Сообщение от dominicdeplorer
значение state пустое когда ходишь по истории(

Тут сложно что-то сказать. Нужно код дебажить, я в локалке тестил и никак не могу воспроизвести проблему ту что у вас возникает. Может у вас что-то конфликтует или еще чего? И да кстати, библиотека работает с localStorage может вы его где-то очищаете?

dominicdeplorer 07.06.2012 19:21

давайте попробуем снова пройтись, так как делали прошлый раз?
у вас есть скайп?

dominicdeplorer 07.06.2012 19:24

сейчас я даже заметил, что в IE8 строка браузера не меняется

dominicdeplorer 07.06.2012 23:28

спасибо вам большое. Вы маг и волшебник))))
Модуль оч круто работает!!! :thanks:

devote 02.08.2012 14:45

исправил одну ошибку, не менялся адрес в адресной строке если на сайте присутствовал хоть один frame/iframe.

devote 12.09.2012 22:10

Очередное исправление, подробнее первый пост.

devote 24.09.2012 13:45

Очередное обновление, подробнее первый пост.

trikadin 25.09.2012 13:38

Слушай, если несложно, указывай номер версии и changelog и в записях тоже. А то я по привычке жму "Перейти к последнему сообщению", а потом приходится переть на первую страницу, чтобы узнать, что поменялось.

devote 25.09.2012 14:02

trikadin,
хорошо, след. раз буду писать.

devote 04.10.2012 01:02

Всем снова привет.

Хочу обсудить вопрос о настройках библиотеки, сегодня была поднята тема по поводу этого на гитхабе: https://github.com/devote/HTML5-History-API/issues/4

Хотелось бы выслушать на эту тему жителей нашего форума и вообще тех кто пользуется этой библиотекой. Суть вопроса кратко, нужно придумать альтернативный вариант установки настроек библиотеки. Помимо возможности через GET-параметры.

Ваши идеи?

melky 04.10.2012 06:33

Цитата:

Сообщение от devote (Сообщение 208064)
Всем снова привет.

Хочу обсудить вопрос о настройках библиотеки, сегодня была поднята тема по поводу этого на гитхабе: https://github.com/devote/HTML5-History-API/issues/4

Хотелось бы выслушать на эту тему жителей нашего форума и вообще тех кто пользуется этой библиотекой. Суть вопроса кратко, нужно придумать альтернативный вариант установки настроек библиотеки. Помимо возможности через GET-параметры.

Ваши идеи?

очень в своё время понравилась инициализация у гугла :

*тут я хотел написать вариант trikadin, но вовремя одумался.*


либо реализовывать метод\функцию init, но по мне - это лишнее.

devote 11.10.2012 17:08

Очередное обновление.

3.2.0 - Реализован метод history.redirect() и исправлена работа с обычными хешами в ссылках. Подробнее.

devote 17.11.2012 18:56

Очередное обновление.

3.2.1 - Не корректно работала библиотека c относительными ссылками в IE 10. Подробнее.

devote 16.01.2013 06:47

Очередное обновление.

3.2.2 - Firefox не вызывал события объекта window при подключении библиотеки. Подробнее.

devote 20.05.2013 10:51

Вышла новая версия.

4.0.0 - Новая версия, переписана с нуля. Исправлены ошибки в работе на мобильных браузерах и многие ошибки на десктопных браузерах.

Mateus 16.06.2013 12:09

После подключений данной библиотеки перестали работать ajax запросы, в чем может быть проблема?

devote 16.06.2013 12:54

Цитата:

Сообщение от Mateus
После подключений данной библиотеки перестали работать ajax запросы, в чем может быть проблема?

мне конечно мало о чем говорит фраза перестало работать. Вы бы хоть в консоль посмотрели или хотя бы ссылку на сайт дали где перестало работать. А так я вряд ли вам смогу разъяснить причину отказа работы ваших аякс запросов.

Mateus 16.06.2013 20:56

Пишет Refused to set unsafe header "Referer".
Как я понял, то передает параметры GET, в место POST и по адресу /*.php?id=1 в место site.com/*.php?id=1

devote 16.06.2013 21:40

Цитата:

Сообщение от Mateus
Пишет Refused to set unsafe header "Referer".
Как я понял, то передает параметры GET, в место POST и по адресу /*.php?id=1 в место site.com/*.php?id=1

ну уж явно моя библиотека к вашей проблеме никак не относиться, все что связано с аякс она не трогает... ее дело только адресная строка и не более

devote 16.06.2013 21:42

Mateus,
я вам говорю, без примеров кода или ссылки на сайт, я сомневаюсь что я вам помогу или дам пояснения вашей проблемы. И я больше чему уверен в том что моя библиотека совершенно не причем. Просто вы делаете что-то не так.

Mateus 17.06.2013 13:35

Цитата:

Сообщение от devote (Сообщение 256692)
Mateus,
я вам говорю, без примеров кода или ссылки на сайт, я сомневаюсь что я вам помогу или дам пояснения вашей проблемы. И я больше чему уверен в том что моя библиотека совершенно не причем. Просто вы делаете что-то не так.

У меня есть ссылка на pic.php
<a href="/pic">PIC</a>

Когда нажимаю на неё, открывается все правильно, только урл в место localhost/site/test/pic открывает localhost/pic. В каком месте мне нужно дописать недостающую часть? Ajax запросы не передаются по той же самой причине. Заранее благодарен.

П.с. Скачал Ваш сайт, поставил его на виртуальный сервер. Там такая же проблема, в главном меню все ссылки на localhost/xxx в место localhost/site.com/xxx

Если ставлю так, то ссылки не работают :
<a class="ajax" href="<?php echo _LINK_PATH;?>pic">Pic</a>


Еще заметил, что redirect работает правильно, т.е. если в ручную набрать url, к примеру, localhost/site.com/about, то откроет правильную страничку. Надеюсь на Вашу помощь.

Mateus 20.06.2013 13:00

Я взял сайт пример с первой страницы, поставил его на localhost/site
Но все ссылки меняют url на localhost/about или localhost/demo в место localhost/site/about или localhost/site/demo
В чем может быть причина?

devote 20.06.2013 13:02

измените параметр basepath:
basepath=/site/

Mateus 20.06.2013 13:10

Цитата:

Сообщение от devote (Сообщение 257344)
измените параметр basepath:
basepath=/site/

В том то и дело, что пробовал так :
<script type="text/javascript" src="<?php echo _LINK_PATH;?>js/history.js?redirect=0&basepath=/site/"></script>

и так :
<script type="text/javascript" src="<?php echo _LINK_PATH;?>js/history.js?redirect=0&basepath=<?php echo _LINK_PATH;?>"></script>

devote 20.06.2013 13:11

в какой папке на localhost вы положили сайт? в корень или в папку site?

Mateus 20.06.2013 13:14

Цитата:

Сообщение от devote (Сообщение 257352)
в какой папке на localhost вы положили сайт? в корень или в папку site?

Сайт находится в папке localhost/site
Т.е. в самой папке site

П.с. Если в ручную ввести url : http://localhost/site/about, то страница открывается правильно. Проблема с ссылками, т.к. они меняют урл на localhost/about.
Пробовал изменить ссылку, тогда она перестает работать. С модулями тоже самое.

При чем, если даже сайт поместить в htpp://localhost/a/b/c/24 , То все равно линки будут на http://localhost/about и т.д.

devote 20.06.2013 13:33

Mateus,
Перекачайте исходники сайта заново, я исправил данную проблему в своих исходниках.

Mateus 20.06.2013 13:40

Цитата:

Сообщение от devote (Сообщение 257359)
Mateus,
Перекачайте исходники сайта заново, я исправил данную проблему в своих исходниках.

Огромное спасибо, devote!
На каждом сайте буду пользоваться Вашим пакетом :)

devote 20.06.2013 14:14

Mateus,
я в исходниках еще кое что лишнее убрал... в файле index.php.. Для новых правок там уже нет необходимости использовать строку вида:
$uri = parse_uri( preg_replace( "#^"._LINK_PATH."#iu", "/", $_SERVER['REQUEST_URI'] ) );
достаточно теперь так:
$uri = parse_uri( $_SERVER['REQUEST_URI'] );
или даже так:
$uri = parse_uri();


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