3

我正在尝试显示一个弹出窗口,但弹出窗口会自动消失,没有 history=false 弹出窗口仍然可见,但是在关闭弹出窗口时会触发浏览器返回操作

<div data-role="page" id="indexpage">
    <div data-role="popup" data-history="false" id="appPopup">test popup</div>
    <script>
    $("#indexpage").on("pageshow", function () {
        $("#appPopup").popup("open");
    });
    </script>
</div>

检查这里发生了什么:http: //jsfiddle.net/francisdb/ThtfZ/

关于如何解决这个问题的任何想法?

4

2 回答 2

8

工作示例:http: //jsfiddle.net/Gajotres/2EL5R/

$("#indexpage").on("pageshow", function () {
    var popup = setInterval(function(){
        $("#appPopup").popup("open");
        clearInterval(popup);
    },1);
});

Webkit 浏览器讨厌弹窗打开,所以需要使用 setinterval 来触发它。其他一些 jQuery Mobile 功能也是如此。

于 2013-04-05T09:28:54.280 回答
0

我有同样的问题想解决这个问题几个小时。Gajotres 建议的解决方案首先开始工作,但最终并没有在所有设备上运行。我用几个安卓、桌面和 iOS 浏览器进行了测试。

我的问题是一个 AdSense 横幅,它被弹出窗口隐藏了。

Google AdSense 会注意到横幅不再可见,并在加载 AdSense 横幅后关闭弹出窗口。删除了横幅,它现在可以完美运行。页面上没有被弹出窗口隐藏的其他 AdSense 横幅不会影响弹出窗口功能。

于 2015-05-29T19:42:02.530 回答