【问题标题】:Disable Back button in Angular4 Cordova禁用Angular4 Cordova中的后退按钮
【发布时间】:2018-02-21 19:05:10
【问题描述】:

我在 Cordova 上使用 Angular 4,所以我需要在 Android 中禁用手机后退按钮。谁能分享一下如何禁用它?

【问题讨论】:

标签: angularjs cordova typescript


【解决方案1】:

你可以创建按钮事件,什么都不做,所以它不会倒退:

declare var device;
...
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
  console.log(device);
  if(device.platform == 'android' || device.platform == 'Android'){
    document.addEventListener("backbutton", onBackKeyDown, false);
  }

  function onBackKeyDown(){
    console.log("Does nothing");
  }
}

Pd:你需要安装插件cordova-plugin-device

【讨论】:

  • 谢谢,我要添加cordova.js
【解决方案2】:

一个简单的方法是推送一个初始的虚拟历史条目,然后覆盖窗口的 onpopstate 事件以始终再次推送虚拟条目。这样,当用户按下后退按钮时,您的应用基本上什么都不做。

// If using TypeScript:
declare var window:any;    

// In your App Boot function (for example app.component constructor):
window.history.pushState("BackLock", null, "");

window.onpopstate = (evt) => {
    // evt.preventDefault(); might work as an alternative
    window.history.pushState("BackLock", null, "");
    return; 
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-16
    • 2018-05-03
    • 2015-05-26
    • 2017-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多