1
我建立一個移動網站,通過Facebook權威性與下面的代碼的FB.login在移動瀏覽器不觸發
(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/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
window.fbAsyncInit = function() {
FB.init({
appId: '{app_id}', // App ID from the app dashboard
channelUrl: '{app url}', // Channel file for x-domain comms
status: true, // Check Facebook Login status
xfbml: true
});
FB.login(function (response) {
//FB.login contents
}, {
scope: '{permissions}'
});
}
這適用於桌面瀏覽器,但在移動瀏覽器的FB.login沒有按」引導用戶觸發。似乎很多人都有這個問題。根據this堆棧交換問題FB.login不能在window.fbAsyncInit裏面解決,解決這個問題的最好方法是一旦加載了所有東西,就有一個觸發FB.login的按鈕。在我實施它之前,有人可以授權驗證這是我的最佳選擇。
@Slavomir嗨,該FB.getLoginStatus功能確實在fbAsyncInit工作因爲你已經斷言,但是,應該指出的是,最終是要麼沒有登錄或授權還是用戶必須去通過FB.Login(據我所知)最好通過不同頁面上的按鈕觸發。 –
Hi @ BenPearce - 你確定嗎?我的例子來自現場項目,我使用給定的例子,爲我工作:) – Slavomir