Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Location.hash (https://javascript.ru/forum/dom-window/40208-location-hash.html)

T-sh 28.07.2013 12:37

Цитата:

Сообщение от salat-production (Сообщение 264605)
А если уж такая малина пошла.
Как сюда правильно прикрутить replace("#","?")

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

ruslan_mart 28.07.2013 13:56

Цитата:

Сообщение от T-sh
при каждом клике будет перезагружаться страница.

Если сделать через history.pushState, то не будет перезагружаться.

salat-production 28.07.2013 15:42

Цитата:

Сообщение от Ruslan_xDD (Сообщение 264665)
Если сделать через history.pushState, то не будет перезагружаться.

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

T-sh 28.07.2013 15:54

Цитата:

Сообщение от Ruslan_xDD (Сообщение 264665)
Если сделать через history.pushState, то не будет перезагружаться.

Как я понял еще из первого вопроса поста, необходимо, чтобы модульные окна открывались и при переходе сразу по ссылке с хэшем: example.com/#id=1. Если заменить на знак вопроса: example.com/?id=1 — не важно, что будет наскриптовано, нужно будет менять серверную часть. А уже потом скрипт учить разбирать URL. В общем, велосипед на костылях получится.

хотя нет..ошибаюсь, можно сделать...

ruslan_mart 28.07.2013 16:14

history.pushState(0, 0, '?'+location.hash.substr(1));

salat-production 28.07.2013 23:00

Цитата:

Сообщение от Ruslan_xDD (Сообщение 264689)
history.pushState(0, 0, '?'+location.hash.substr(1));

Респект!
Вот только все таки
history.pushState(0, 0, location.hash.replace('#','?'));


Задача решена :thanks:


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