本文介绍了打开后对话框立即关闭的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

当应用程序不处于独立模式时,我想显示一个对话框.我有以下代码:

I want to show a dialog when an app is not in standalone mode. I have this code:

$(document).on("pageinit", "#home", function (e) {
  console.log('pageinit');
  if (!window.navigator.standalone && (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))) {
    $.mobile.changePage('/mobile/install', {
        role: 'dialog',
        showLoadMsg: true,
        changeHash: false
    });
   }
});

问题是该对话框出现,但之后立即关闭,然后返回首页.

The problem is that the dialog appears but close directly after and it returns to homepage.

首页的pageshow事件发生两次.

The pageshow event for homepage happens twice.

如何防止这种行为?

感谢您的帮助

推荐答案

您需要使用 setTimeout 设置延迟.

$(document).on("pageinit", "#home", function (e) {
 if (!window.navigator.standalone && (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPod/i))) {
  setTimeout(function () {
    $.mobile.changePage('/mobile/install', {
      role: 'dialog',
      showLoadMsg: true,
      changeHash: false
    });
  }, 100);
 }
});

这篇关于打开后对话框立即关闭的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-18 22:48