javascript - Firefox 8 for Mac 出现问题 : window. name is undefined

标签 javascript facebook facebook-javascript-sdk

我一直在尝试在我的网站上配置新的 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>

有什么问题的线索吗?以前有人遇到过这个错误吗?

最佳答案

已解决:令人难以置信的是,唯一的小错误是我在我的 JS 文件中使用了一个名为“name”的全局变量。这是 Facebook SDK 的严重禁忌(尽管未在任何地方提及)。我在一个我不记得的链接上找到了原因,但主要问题是全局名称变量与 FB api 所需的 window.name 混淆了。

我只是建议避免使用名为 name 的全局变量,无论您是否使用 Facebook SDK。以防万一。

关于javascript - Firefox 8 for Mac 出现问题 : window. name is undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8780368/

相关文章:

Facebook 图形 API : offset_y offset_x

php - 我应该如何正确请求我的 Facebook 应用程序的权限?

facebook - FB.Event.subscribe 是否有 Facebook 分享按钮事件?

javascript - 如果我想使用 AJAX 来访问我的 ASP.NET 站点,如何以 "paid upgrade"的形式实现 WCF/OData 访问?

javascript - Select2minimumInputLength在append()之后不起作用

javascript - 替换 linux tail -f 命令中的换行符

php - 将图片上传到页面相册可以,但将图片发布到墙上不行

javascript - FB.Data.* JS sdk

javascript - 单击 Facebook 页面上的按钮后执行的操作

javascript - 将 React 与 Express 混合?