Android:"onBackPressed"仅从Cordova 3 webview的第一页调用,无法从内页覆盖

mic*_*mic 5 android back webview cordova

我正在构建一个Cordova 3应用程序.我正在为我的appview加载一个网址,在某些情况下我会在appview上打开一个全屏视图.在这些情况下,我希望后退按钮只删除我的顶视图,而不是执行内置的"goBack"方法.我没有设法覆盖内部页面中的后退单击行为.我注意到只有当我从我的初始URL页面点击"返回"时,我才会进入我的"onBackPressed"监听器功能,内页似乎禁用"后退"事件传播并始终执行浏览器返回导航.

我发现这篇文章:覆盖Android Backbutton行为仅适用于带有PhoneGap的第一页,但它似乎只与较旧的cordova版本相关.

任何帮助,将不胜感激.

谢谢!

sal*_*lai 0

这与我遇到的问题相同,我只需在每个 HTML 页面中添加以下代码即可解决此问题

<head>
<script type="text/javascript">
    function onLoad()
    {
        document.addEventListener("deviceready",onDeviceReady,false);
    }
    function onDeviceReady()
    {
        document.addEventListener("backbutton",noth,false);
    }
    function noth()
    {
        //code for what happends if back button is pressed
    }
</script>
</head>
<body onload="onLoad()">
</body>
Run Code Online (Sandbox Code Playgroud)


使用此代码我创建了一个phonegap应用程序,它显示一条确认消息,例如“退出应用程序?” 如果您在主 html 文件中按下后退按钮,而在其他情况下它会显示上一个 html 页面
供参考: Phonegap - navigator.app.backHistory() 不适用于 HTML 后退按钮