Jquery mobile:ui-state = dialog

时间:2016-12-14 12:43:57

标签: jquery jquery-mobile

我使用JQuery mobile作为用户菜单列表,但它似乎保存按下的按钮链接“ui-state = dialog”当使用webbrowser上的后退按钮时,这会影响导航。如何删除添加到URL的“ui-state =对话框”?

示例:http://demos.jquerymobile.com/1.4.5/popup/

尝试第一个所谓的“基本弹出窗口”,保存的URL是:“ui-state = dialog”仍然出现在broswer历史中。

3 个答案:

答案 0 :(得分:1)

我解决了问题:使用:

$( ".selector" ).popup({
  history: false
});

$(document).on("pageinit", function() 
{
     $( ".selector" ).popup({
       history: false
    });

});

更多信息:

http://api.jquerymobile.com/popup/#option-history

答案 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">