Я хотел бы динамически изменить URL-адрес моей страницы jQM (когда пользователь выполняет какое-либо действие), чтобы изменить строку запроса. Использование history.pushState
работает нормально, но когда jQM пытается добавить хэш к URL-адресу, например, при переходе к диалоговому окну, все работает не так, как ожидалось: URL-адрес возвращается к своему исходному значению, а jQM добавляет к нему хэш (не чтобы упомянуть, что ошибка возникает, когда я пытаюсь закрыть диалоговое окно).
Я просмотрел документы jQuery Mobile и, насколько я понял, исходный URL-адрес страницы хранится в атрибуте data-url
элемента data-role="page"
. Поэтому я также пытался изменить это всякий раз, когда мне нужно изменить свой URL-адрес, но он все равно возвращается к исходному, когда открывается диалоговое окно.
Проверьте этот JS Bin для примера: http://jsbin.com/egunif/5/edit
При нажатии кнопки «Диалог» URL-адрес изменяется (вместе с атрибутом data-url), а затем открывается диалоговое окно. Вы можете видеть, что URL-адрес ненадолго меняется на egunif/hashtest
, прежде чем jQM изменит его на egunif/5#&ui-state=dialog
.
Итак, кажется, что исходный URL-адрес хранится где-то еще, вопрос в том, где? И можно ли изменить этот URL, чтобы не было конфликтов, когда jQM вносит в него изменения хэша?
Спасибо!