未调用子浏览器的onLocationChanged方法

时间:2012-06-07 22:32:12

标签: android facebook cordova childbrowser

我正在使用Facebook插件进行phonegap。我在登录成功时使用ChildBrowser打开外部URL。当我调用openExternal但未调用onLocationChange时,指定的网页打开正常。 如果您能让我知道代码有什么问题,那将会很棒。 代码如下..

    init:function(){

    // Begin Authorization
    var authorize_url = "http://graph.facebook.com/oauth/authorize?";
     authorize_url += "client_id=" + my_client_id;
     authorize_url += "&redirect_uri=" + my_redirect_uri;
     authorize_url += "&display=" + my_display;
     authorize_url += "&scope=publish_stream,offline_access"


     // Open Child browser and ask for permissions
     client_browser = ChildBrowser.install();

    if (client_browser != null) {
         alert("In the init section " + client_browser); 

         client_browser.onLocationChange = function(loc){
             alert("Log location = " + loc);

         };             

         window.plugins.childBrowser.openExternal(authorize_url);

     }

}

我也试过了

window.plugins.childBrowser.onLocationChange = function(loc){
         alert("In the client_browser section ");  
         Facebook.facebookLocChanged(loc);
     };

但这也行不通。 任何帮助/建议将不胜感激。 感谢。

1 个答案:

答案 0 :(得分:0)

openExternal打开Android Web浏览器,在这种情况下不会调用onLocationChanged事件。您需要使用showWebPage才能获取onLocationChanged事件。