【问题标题】:How to override back button only on single page in cordova 4.0?如何仅在科尔多瓦 4.0 的单页上覆盖后退按钮?
【发布时间】:2015-06-01 05:07:53
【问题描述】:

我有一个要求,仅在特定页面上,我的意思是当用户在 index.html 中说并且当他单击返回按钮时,我需要提示您是否要退出应用程序的警报。 如果他说“是”,则退出,否则“不”。我可以通过覆盖后退按钮以及检查用户是否在 index.html 页面中来实现这一点,如下面的代码所示。

代码示例:

function onLoad() {
    alert("OnLoad");
    document.addEventListener("deviceready", onDeviceReay, false);
}
 function onDeviceReay()
        {   
            var x = document.URL;
            alert(x);
    if( x.indexOf('index') >= 0)
    {
            document.addEventListener('backbutton', function(e){
                      if (confirm("Press a button!"))
                      {
                     alert("You pressed OK!");
                     navigator.app.exitApp();
                      }
                    else
                      {
                        alert("You pressed Cancel!");
                      }
              }, false);
        }
        }

但问题是当用户导航到其他页面然后当他点击后退按钮时,它没有导航回上一页。有人可以说明我哪里出错了。谢谢。

【问题讨论】:

  • 点击返回按钮时是否显示确认对话框?
  • public void onBackPressed() { //你的代码在这里 }
  • 是的,索尼娅,它正在显示。
  • 对不起 DJphy,我没听懂你。能否请您详细说明一下。

标签: android cordova plugins


【解决方案1】:

在需要触发后退按钮的html页面中放入以下内容:

document.addEventListener("backbutton", leavePage, false); 

    function onPageLeave(buttonIndex) {

        if(buttonIndex==1){
            window.history.back();
        }
        else{   
        }
    }

    function leavePage() {
        navigator.notification.confirm(
            'Would you like to leave  ?', // message
             onPageLeave,            // callback to invoke with index of button pressed
            'Leaving page request',           // title
            ['Yes','No']         // buttonLabels
        );
    }

请注意,您需要通知插件。否则你可以用一个简单的 alert() 替换。

【讨论】:

  • 感谢 BipBip,但我也面临同样的问题。即使在其他页面中,它也会覆盖后退按钮。我想在一个页面中覆盖
  • 这很奇怪,因为此代码仅适用于我放置它的页面。它在其他页面中不起作用。你在 ondeviceready 函数中使用它吗?
猜你喜欢
  • 2017-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-30
  • 2019-03-08
  • 1970-01-01
  • 2018-06-20
  • 1970-01-01
相关资源
最近更新 更多