页面加载后,jquery移动对话框关闭

时间:2013-11-22 15:28:45

标签: javascript jquery ajax jquery-mobile mobile-safari

伙计们,我有一个问题,我希望有人可以提供帮助。当我的jquery移动应用程序加载时,它会检查我的服务器以查看用户所在平台是否存在本机应用程序。如果是这样,我弹出一个对话框询问他们是否想要下载本机应用程序。这是问题,我把这个检查放在哪里似乎并不重要,当页面在移动safari中完成加载时,对话框消失了。这是我开始检查的代码:

$( document ).ready(function() {
  checkRedirect();
});

但我也尝试过pageinit和pagecreate。 checkRedirect()进行ajax调用,并根据结果弹出带有“$ .mobile.changePage”的对话框

似乎浏览器仍然认为原始页面正在加载,然后在页面加载完成后以某种方式解除对话框。对不起,我没有更多细节。我认为我需要的是一个事件发生在整个页面加载后(和所有ajax背景加载后),但我一直无法找到。任何帮助或建议表示赞赏。

更新:在与奥马尔讨论之后,事实证明使用“弹出窗口”代替对话框可以满足我的需求。

1 个答案:

答案 0 :(得分:1)

首先,在jQuery Mobile中使用.ready()不正确,请使用jQuery Mobile事件。

一旦发生任何页面事件,您需要延迟打开对话框/弹出窗口,以确保页面已完全加载。

setTimeout(function () {
 $.mobile.changePage('#dialog');
}, 50);

更新

根据我们的讨论,使用jQM弹出窗口小部件在您的情况下更可靠。