我正在編程apache cordova中的應用程序,並且我正在使用facebook javascript sdk與Facebook進行通信。我的問題是,當我導航到不同的html文件時,我登錄Facebook後,我必須重新初始化FB.init,然後才能使用它,這會導致先前保存的登錄信息被刪除。當導航到新的html頁面時Apache Cordova Facebook Javascript SDK問題
這是我使用的initailize與鏈接到它的一個JavaScript我的啓動頁面上的Facebook SDK什麼...
window.fbAsyncInit = function()
{
FB.init(
{
appId : '1680542808897877',
cookie : true,
xfbml : true,
version : 'v2.5'
});
};
(function (d, s, id)
{
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
然後我用了window.location =「test.html的」導航到另一個html文件,它有不同的js文件。所以,現在,如果我嘗試,而無需再次初始化的Facebook SDK這樣執行的功能...
FB.api('me/picture', function (response)
{
var picture = response;
})
我得到一個錯誤說沒有定義FB。如果我將包含來自上面的Facebook初始化代碼包含在鏈接到新的html文件FB的js文件中,但是接收到錯誤,說明沒有定義響應。
有沒有辦法在另一個js文件中初始化Facebook的sdk,但不知何故將先前的登錄信息傳遞給它?
試過這個...登錄到起始頁就好了,然後導航到另一個頁面和Facebook試圖使調用API,並得到一個錯誤回來說:「必須使用活動的訪問令牌來查詢有關當前用戶的信息。」 – ChumpStick