Phonegap/JqueryMobile上Blackberry Hardware Back按钮的行为不一致



我正在开发一个多页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

最新更新