2017-09-13 58 views
0

我在Cordova上使用Angular 4,所以我需要在Android中禁用手机后退按钮。任何人都可以分享如何禁用它?禁用Angular4中的后退按钮Cordova

+0

可能[在cordova中禁用硬件后退按钮]的副本(https://stackoverflow.com/questions/31427115/disable-hardware-back-button-in-cordova) – bennygenel

回答

1

一个简单的方法是推入一个初始的虚拟历史条目,然后覆盖窗口的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; 
} 
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:您需要安装插件科尔多瓦 - 插件设备