从facebook.com,phonegap android返回时启用后退按钮

时间:2013-06-17 11:14:24

标签: android cordova

我正在开发一个phonegap android应用程序,我最初使用它来禁用设备的后退按钮,其工作

document.addEventListener("backbutton", onBackKey, false);

function onBackKey(){

}

但是,当我点击我的应用程序中的按钮转到facebook登录页面时,我想要启用后退按钮。我试图删除事件监听器,但它没有工作

funtion f_click(url, width, height){
   document.removeEventListener("backbutton", onBackKey, false);  
   //some link to start facebook
}

我也用过

document.removeEventListener("backbutton", function(e) { e.preventDefault(); }, false);  

但我每次都会收到此错误,cordova is not defined。为什么呢?

1 个答案:

答案 0 :(得分:1)

不要忘记调用“ deviceready ”事件。

来自phonegap doc:

  

每个Cordova应用程序都应该这是一个非常重要的事件   使用

     

Cordova由两个代码库组成:native和JavaScript。虽然   正在加载本机代码,显示自定义加载图像。然而,   只有在DOM加载后才会加载JavaScript。这意味着您的网站   应用程序可能会调用Cordova JavaScript函数   在它加载之前。

     

当Cordova满载时,Cordova deviceready事件将会激活。   设备触发后,您可以安全地拨打Cordova电话   功能

尝试这样的事情:

var deviceReady = false;

document.addEventListener("deviceready", onDeviceReady, false);

function onDeviceReady()
{
    deviceReady = true;
}

function f_click(url, width, height)
{
    if(deviceReady)
    {
        document.removeEventListener("backbutton", onBackKey, false);
        //...
    }
}