我正在开发一个多页JqueryMobile(1.0)应用程序,并使用Phonegap(1.3)提供WebView。我已经通过stackoverflow和web上的代码来处理黑莓硬件的后退按钮。
在jquerymobile加载之前,我已将mobile.pushStateEnabled设置为false。我还设置了具有以下功能的config.xml文件
<feature id="blackberry.system" required="true" version="1.0.0.0" />
我已经尝试将以下代码放在不同的位置。在所有页面的页眉/正文/中,但我的行为仍然不一致。Phonegap正在初始化,我甚至尝试在Phonegap初始化后将其放入,但似乎什么都不起作用。我甚至尝试过将它制作成一个html文件,将所有页面放在一个文件中(jquery mobile)。该应用程序要么退出,要么在某些情况下根本没有响应,在极少数情况下会按预期运行。
<script>
blackberry.system.event.onHardwareKey(blackberry.system.event.KEY_BACK,
function() {
history.back();
return false;
});
</script>
我正在使用Blackberry 9780(操作系统版本6..0)进行部署,并在最新版本的jquery mobile(1.01)和phonegap(1.4)中进行了尝试。任何指示都将不胜感激。
试试这个
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// PhoneGap is loaded and it is now safe to make calls PhoneGap methods
//
function onDeviceReady() {
// Register the event listener
document.addEventListener("backbutton", onBackKeyDown, false);
}
function onBackKeyDown() {
history.back();
return false;
}
</script>
不要忘记在onReady 中添加onLoad函数
我也有同样的问题。有时应用程序刚刚关闭,有时它能正常工作,有时你不得不按几次后退按钮。
请尝试以下答案之一:http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Back-button-in-BB-OS-5/m-p/1611047