我想动态更改我的 jQM 页面的 URL(当用户执行某些操作时)以修改查询字符串。使用history.pushState
工作正常,但是当 jQM 尝试向 URL 添加哈希时,例如导航到对话框时,事情不会按预期工作:URL 恢复到其原始值,并且 jQM 将哈希附加到那个(不是提到当我尝试关闭对话框时发生错误)。
我查看了 jQuery Mobile 文档,据我了解,页面的原始 URL 存储在元素的data-url
属性中。data-role="page"
因此,每当我需要更改 URL 时,我也尝试对其进行修改,但是当打开对话框时,它仍会恢复为原始 URL。
检查此 JS Bin 以获取示例:http: //jsbin.com/egunif/5/edit
单击“对话框”按钮时,URL 会更改(连同 data-url 属性),然后打开对话框。您可以看到 urlegunif/hashtest
在 jQM 将其更改为 之前短暂更改为egunif/5#&ui-state=dialog
.
所以似乎原始 URL 存储在其他地方,问题是在哪里?是否可以更改此 URL,以便在 jQM 对其进行哈希更改时不会发生冲突?
谢谢!