Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как изменить адресную строку без перезагрузки?


Автор: kaktebe 4.8.2013, 23:12
Всем привет.
Как можно сменить адресную строку без перезагрузки и чтоб работало во всех браузерах?
Нашёл вариант window.history.pushState(null, null, "/index.html"); но он работает только в FF.
Есть ли кроссбраузерные решения?

Автор: CruorVult 5.8.2013, 08:17
document.location.hash + https://developer.mozilla.org/en-US/docs/Web/Reference/Events/hashchange

Автор: kaktebe 5.8.2013, 10:52
Цитата(CruorVult @ 5.8.2013,  08:17)
document.location.hash + https://developer.mozilla.org/en-US/docs/Web/Reference/Events/hashchange

Это смена якоря, а мне надо полностью ссылку поменять. В рамках текущего домена.

Автор: CruorVult 5.8.2013, 13:28
Цитата(kaktebe @  5.8.2013,  10:52 Найти цитируемый пост)
мне надо полностью ссылку поменять


тогда только

Цитата(kaktebe @  4.8.2013,  23:12 Найти цитируемый пост)
window.history.pushState(null, null, "/index.html");


Цитата(kaktebe @  4.8.2013,  23:12 Найти цитируемый пост)
но он работает только в FF.


неправда

Chrome 5    
Firefox (Gecko) 4.0 (2.0)
Internet Explorer 10
Opera 11.50
Safari 5.0

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

Автор: kaktebe 5.8.2013, 22:24
Цитата(CruorVult @ 5.8.2013,  13:28)
Цитата(kaktebe @  5.8.2013,  10:52 Найти цитируемый пост)
мне надо полностью ссылку поменять


тогда только

Цитата(kaktebe @  4.8.2013,  23:12 Найти цитируемый пост)
window.history.pushState(null, null, "/index.html");


Цитата(kaktebe @  4.8.2013,  23:12 Найти цитируемый пост)
но он работает только в FF.


неправда

Chrome 5    
Firefox (Gecko) 4.0 (2.0)
Internet Explorer 10
Opera 11.50
Safari 5.0

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history

В Safari 4 у меня ничего не происходит, а в IE 8 выдаётся ошибка, что объект не поддерживает это свойство или метод. Работает только в FF 22.

Автор: CruorVult 6.8.2013, 09:04
Цитата(kaktebe @  5.8.2013,  22:24 Найти цитируемый пост)
В Safari 4 у меня ничего не происходит, а в IE 8 выдаётся ошибка


Я же написал какие версии поддерживают pushState

Цитата

Chrome 5    
Firefox (Gecko) 4.0 (2.0)
Internet Explorer 10
Opera 11.50
Safari 5.0


В старых версиях сменить адресную строку не получится.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)