0

在我的 PhoneGap android 应用程序中,在OnDeviceReady()方法的 Index.html 页面中,我为后退按钮事件侦听器添加了以下函数。

document.addEventListener("backbutton", function(e) {
          var sPath=window.location.pathname;
          var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
          if(sPage == "index.html"){
                e.preventDefault();
                // My action
                return false;

            } else {
                return true;
            }
    }, false);  

面临的问题:
在我的 HomePage(Index.html) 中它工作正常。如果我按下后退按钮,它就会关闭。
但是在所有其他页面(Page1.html,Page2.html,Page3.html,Page4.html)中,我没有创建后退按钮事件侦听器,但是当我按下后退键时没有任何反应。

4

1 回答 1

1

您可以尝试添加以下 javascript 代码:

document.addEventListener("backbutton", function(e) {
          var sPath=window.location.pathname;
          var sPage = sPath.substring(sPath.lastIndexOf('/') + 1);
          if(sPage == "index.html"){
                e.preventDefault();
//  Method to close Phonegap application
                 navigator.app.exitApp();


                } else {
   // Method to go back to previous page 
                    navigator.app.backHistory();
                }
        }, false);

绝对有效但使用两个 JavaScript 文件的替代方法...

我对 index.html 以外的页面使用了以下代码:

// Wait for Cordova to load

     document.addEventListener("deviceready", onDeviceReady, false);
       // Cordova is ready

    function onDeviceReady() {
    document.addEventListener("backbutton", function(e){
    e.preventDefault();
    navigator.app.backHistory();
    return false;
}, true);

        }

在主页上,您可以添加 navigator.app.exitApp(); 并删除 navigator.app.backHistory();

已经在这里回答: PhoneGap - android exit on backbutton

于 2013-09-03T18:02:02.317 回答