【发布时间】:2012-02-05 12:18:05
【问题描述】:
我一直在尝试使用我的网站配置新的 Facebook Javascript API,但我遇到了 Firefox 的问题(在 Chrome 和 Safari 上运行良好,尚未在 IE 上进行全面测试,但被告知没有问题)。
问题在 Facebook 的 all.js 文件的开头指出,消息说
window.name is undefined
if(!window.FB)window.FB={_apiKey:null,...return document.getElementById(a);}};
all.js (line 3)
因此,任何后续使用 FB 访问 SDK。导致错误声明
FB is not defined
[Break On This Error] FB.login(function(response)
我使用的代码是
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'my_app_id', // App ID
channelURL : 'my_channel_file', // Channel File
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
oauth : true, // enable OAuth 2.0
xfbml : true // parse XFBML
});
startLoad();
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk'; if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
d.getElementsByTagName('head')[0].appendChild(js);
}(document));
</script>
关于这个问题有什么线索?以前有人遇到过这个错误吗?
【问题讨论】:
-
FB.login在哪里被调用? -
它是从上面提到的 startLoad() 函数中调用的。再次,我想提一下它在 chrome 和 safari 中完美运行,但在 FF 上却不行
-
问题已解决(见下方答案)
标签: javascript facebook facebook-javascript-sdk