Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery/移动导航问题_Jquery_Cordova_Navigation - Fatal编程技术网

Jquery/移动导航问题

Jquery/移动导航问题,jquery,cordova,navigation,Jquery,Cordova,Navigation,在我的起始页上,我隐藏了所有内容,然后从服务器上获取消息。如果有消息,则显示消息页面。但是,当我使用Androids后退按钮返回时,应用程序结束(关闭),就像我在开始页面并按下后退按钮一样。为什么? 以下是我用来显示消息页面的代码(来自起始页面): 我正在使用JQuery和PhoneGap 编辑:如果我试图打开一个“弹出窗口”(JQM 1.2),结果也是一样的。它不能关闭。似乎弹出的是“起始页”。这是怎么可能的呢?Juw,PhoneGap的事件API为您提供了一个用户启动Android后退按钮的

在我的起始页上,我隐藏了所有内容,然后从服务器上获取消息。如果有消息,则显示消息页面。但是,当我使用Androids后退按钮返回时,应用程序结束(关闭),就像我在开始页面并按下后退按钮一样。为什么?

以下是我用来显示消息页面的代码(来自起始页面):

我正在使用JQuery和PhoneGap


编辑:如果我试图打开一个“弹出窗口”(JQM 1.2),结果也是一样的。它不能关闭。似乎弹出的是“起始页”。这是怎么可能的呢?

Juw,PhoneGap的事件API为您提供了一个用户启动Android后退按钮的挂钩。查看下面的代码。如果用户在
上并点击后退按钮,他将离开应用程序,否则,他将返回一页

document.addEventListener("backbutton", function (e) {
    if ($.mobile.activePage.is('#loginpage')) {
        e.preventDefault();
        navigator.app.exitApp();
    } else {
        navigator.app.backHistory()
    }
}, false);

您正在使用jQuery Mobile?如果在显示开始页之前重定向,历史记录中的第一页是message.html,那么“后退”按钮将强制退出。@Flatlineato-但是如何重定向到另一页而不发生这种情况?还有…这不是在展示之前…这是在“pageshow”上。使用document.addEventListener(“backbutton”…就像第一个AnswarEthax中的答案一样。但是我希望我的应用程序中不要包含PhoneGap API。我只是使用PhoneGap作为“Android容器”。这应该在JQuery中解决。这应该是可能的。我同意你的看法,它似乎应该是可行的w/o PG。如果你曾经找到一种方法来做w/o PG,我希望看到你的解决方案。现在我将解决这一问题,只需设置一个按钮,用户必须点击,如果他们想查看消息。一个非常糟糕的解决方案,因为消息c一个包含关于新版本的信息。但是现在它必须做,直到我找到更好的方法。
document.addEventListener("backbutton", function (e) {
    if ($.mobile.activePage.is('#loginpage')) {
        e.preventDefault();
        navigator.app.exitApp();
    } else {
        navigator.app.backHistory()
    }
}, false);