在移動Safari瀏覽器運行時,Facebook的FB.api('/me')
功能最近也開始拋出下面的錯誤:Facebook的FB.api( '/我')拋出: 「TypeEror: '未定義' 不是一個對象」
TypeEror : '未定義' 不是一個對象
代碼在桌面瀏覽器(在Chrome 19dev/OS X和Safari 5.1.3/OS X測試)工作正常。我已經在兩個不同的域上嘗試了兩個不同的Facebook應用ID,結果相同。我已經嘗試了兩個不同的Facebook用戶ID,結果相同。我已經嘗試使用FB.login()
和FB.getLoginStatus()
進行身份驗證,但沒有任何區別。
演示:http://thinkingstiff.com/fb.htm
腳本:
window.onload = function() {
var script = document.createElement('script');
script.async = true;
script.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
document.getElementById('fb-root').appendChild(script);
window.fbAsyncInit = function() {
FB.init({
appId: '252706924818818',
cookie: true,
status: true,
xfbml: true,
oauth: true
});
};
function login1() {
FB.login(function (response) {
if (response.authResponse) {
try {
FB.api('/me', function (response) { // this line throws error
alert('success: ' + response.name);
});
} catch (error) {
alert('error: ' + error);
};
} else {
alert('unauthorized');
};
}, { scope: 'email' });
};
function login2() {
FB.getLoginStatus(function (response) {
if (response.authResponse) {
try {
FB.api('/me', function (response) { // this line throws error
alert('success: ' + response.name);
});
} catch (error) {
alert('error: ' + error);
};
} else {
alert('unauthorized');
};
});
};
function initialize() {
document.getElementById('login1').addEventListener('click', login1, false);
document.getElementById('login2').addEventListener('click', login2, false);
};
initialize();
};
HTML:
<button id="login1" class="fb-button">Login 1</button>
<button id="login2" class="fb-button">Login 2</button>
<div id="fb-root"></div>
這終於得到標示爲dev.facebook「固定」。 – ThinkingStiff 2012-03-15 01:29:50