【问题标题】:Inconsistent behavior of the Blackberry Hardware Back button on Phonegap/JqueryMobilePhonegap/JqueryMobile 上的黑莓硬件后退按钮的行为不一致
【发布时间】:2012-02-02 09:29:24
【问题描述】:

我正在开发一个多页面 JqueryMobile(1.0) 应用程序并使用 Phonegap(1.3) 来提供 WebView。我已经通过stackoverflow和web on code来处理黑莓硬件后退按钮。

我在 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)。 任何指针将不胜感激。

【问题讨论】:

    标签: blackberry jquery-mobile cordova


    【解决方案1】:

    试试这个

    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 函数

    【讨论】:

    • Nope :(。仍然不一致。我也尝试从 pageinit 加载它。也尝试了 window.history.back()。感谢您指出这一点。我放弃了这个现在。与黑莓打交道非常令人沮丧。
    【解决方案2】:

    我也有同样的问题。有时应用程序只是关闭,有时它可以工作,有时您必须按几次后退按钮。

    尝试以下答案之一:http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Back-button-in-BB-OS-5/m-p/1611047

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      相关资源
      最近更新 更多