【发布时间】:2018-02-21 19:05:10
【问题描述】:
我在 Cordova 上使用 Angular 4,所以我需要在 Android 中禁用手机后退按钮。谁能分享一下如何禁用它?
【问题讨论】:
标签: angularjs cordova typescript
我在 Cordova 上使用 Angular 4,所以我需要在 Android 中禁用手机后退按钮。谁能分享一下如何禁用它?
【问题讨论】:
标签: angularjs cordova typescript
你可以创建按钮事件,什么都不做,所以它不会倒退:
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
【讨论】:
一个简单的方法是推送一个初始的虚拟历史条目,然后覆盖窗口的 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;
}
【讨论】: