Firefox 8 for Mac 出现问题:window.name 未定义

Posted

技术标签:

【中文标题】Firefox 8 for Mac 出现问题:window.name 未定义【英文标题】:Having issue with Firefox 8 for Mac: window.name is undefined 【发布时间】: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 上却不行 问题已解决(见下方答案) 【参考方案1】:

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

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

【讨论】:

有同样的问题,重命名了全局var name,现在可以了。谢谢提示! 很高兴能为您提供帮助。这个问题几乎没有记录,我花了很长时间才找到它。 太棒了!我也有这个确切的问题。奇怪的是,它只影响了 Firefox——在 Chrome 上一切正常。 Facebook 上的糟糕形式依赖于这些名字不佳的全局变量! 有没有办法防止第三方库覆盖该变量。 facebook 会阻止这种情况吗? @chchrist:我不知道,而且 Facebook 似乎不太可能这样做。通常由第三方库背后的开发人员来确保它可以与 Facebook 的 SDK 结合使用。

以上是关于Firefox 8 for Mac 出现问题:window.name 未定义的主要内容,如果未能解决你的问题,请参考以下文章

Firefox 7.0.1 - Mac OS X 10.6.8 - 图形问题

webdriver 操作 Firefox 在关闭浏览器时弹出 “Plugin Container for Firefox已停止工作”

securecrt 8 for mac 怎么不能记住密码

Mac系统上,Firefox和Selenium不兼容的情况

Selenium WebDriver: Java: Mac OS X: how control file upload automation for CuteWebUI_Uploader_Resour

Mirror for Any Device for Mac(投屏软件)