4

我试图显示弹出,但弹出自动消失,而历史=假弹出保持可见,但然后关闭浏览器的后退动作被触发与历史=假autocloses jQuery Mobile的弹出

<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/

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

+0

似乎在Firefox上工作,但在铬/ Safari浏览器上破坏 – Somatik 2013-04-05 09:27:34

回答

9

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

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

WebKit浏览器弹出讨厌开放,所以setInterval的需要来触发它。同样的事情也适用于其他一些jQuery Mobile功能。

+0

你知道这个问题的票吗? – Somatik 2013-04-05 09:31:58

+0

我不认为有一个。首次引入弹出窗口时首先出现此问题。像表格部件一样,弹出窗口可能是最糟糕的jQM插件。它有许多问题和错误,从定位不正确到文档真正糟糕。 – Gajotres 2013-04-05 09:38:28

+1

为了让它在我的应用程序中得到修复,我需要将间隔设置为1000,也应该在运行后调用clearInterval – Somatik 2013-04-05 09:46:14

0

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

在我的情况下,这个问题是一个AdSense横幅,它被弹出窗口隐藏起来。

Google AdSense会注意到,在加载AdSense横幅广告时,横幅不再可见并关闭弹出窗口。删除了横幅,现在完美工作。网页上的其他AdSense横幅不会被弹出窗口隐藏,不会影响弹出功能。