我使用JQuery mobile作为用户菜单列表,但它似乎保存按下的按钮链接“ui-state = dialog”当使用webbrowser上的后退按钮时,这会影响导航。如何删除添加到URL的“ui-state =对话框”?
示例:http://demos.jquerymobile.com/1.4.5/popup/
尝试第一个所谓的“基本弹出窗口”,保存的URL是:“ui-state = dialog”仍然出现在broswer历史中。
答案 0 :(得分:1)
我解决了问题:使用:
$( ".selector" ).popup({
history: false
});
$(document).on("pageinit", function()
{
$( ".selector" ).popup({
history: false
});
});
更多信息:
答案 1 :(得分:1)
要解决刷新问题,我会在页面创建时截取#& ui-state和类似内容,并最终重定向到一个干净的网址:
$(document).on("pagebeforecreate",function(){
if(window.location.hash!=""){
window.location.replace(window.location.origin+window.location.pathname);
}
});
为避免在浏览器历史记录中插入#& ui-state,可以添加data-history =" false"每个弹出窗口:
<div data-history="false" data-role="popup" ...
答案 2 :(得分:0)
另一种解决方案是在标记中分配data-history="false"
属性:
<div data-history="false" data-role="popup" id="popup-1" data-theme="b" data-overlay-theme="b">