我'm currently using cordova 3.7.1. In my app I'我无法在我的jquery脚本中检测到硬件后退按钮 . 我尝试这样: $(document).ready(function() { //registering the back button document.addEventListener("backbutton", onBackKeyDown, false); });
function onBackKeyDown(e) { alert("back button pressed");//alert if the android back button is pressed }
但这不起作用 . 我已经尝试了所有可能性
我还尝试使用MainActivity.java中的当前URL
appView.getUrl();
但这不会返回div的url如果我有一个div作为#page2它没有返回url .
它只返回http://sas.cer.org/index.html . 它没有返回http://sas.cer.org/index.html#page2
我也在使用jquery mobile .
是否有任何替代方法来处理Native或Jquery端的android / hardware后退按钮?
3 回答
有两种解决方案:
1)您需要在索引html文件的head部分的script标签中包含cordova.js,以使事件和插件工作 .
您可能无法在文件夹中看到此文件,但看到了phonegap | cordova命令在移动设备上运行时构建它 .
2)将您的代码修改为given here.使用特定于移动设备的事件来使您的应用正常运行 .
以下内容适用于我们部署到cordova和web的应用程序 .
如果在cordova中需要
window._cordovaNative = true
.我在那里留下了我的按钮处理代码(参见“
// close menu if open
”和其他注释),您需要用代码替换它们 .把它放在某个地方:
然后在你的deviceready(cordova)或doc ready(web)init函数中执行:
阅读文档,你有a full example there
您必须侦听deviceready事件,而不是文档就绪