javascript - Google Chrome/Windows/FB.Canvas.setAutoGrow 问题

标签 javascript css windows facebook google-chrome

这里的问题很明显。

https://www.facebook.com/TabascoUK/app_202624839826809

在 Windows XP 上使用 Google Chrome,FB.Canvas.setAutoGrow 错误计算了两个像素的帧大小。我会把它报告为一个错误,但是 (1) 我没有设法在所有计算机上重现相同的行为,即使它们具有相同的设置。 (2) 我查看了 all.js,它看起来还不错——没有明显的错误原因。

我已经尝试过重置缓存,更新浏览器等,但仍然有 2px 的错误。

是什么原因造成的?

最佳答案

自从这篇文章发布以来,我已经很长时间没有遇到任何问题了。但由于 Chuck Morris 似乎遇到了同样的问题,我将分享我的经验。

首先,我错误地假设 FB.Canvas.setAutoGrow 可以在代码中随时调用。这是有道理的,因为它随后开始间隔,它应该检测任何 DOM 更改。嗯,事实并非如此。

无论如何,诀窍是在加载 DOM 后加载 Facebook JS。根据我的经验,这有助于解决所有问题。如果您使用的是 jQuery,则可以执行类似的操作。

$(function(){
    window.fbAsyncInit  = function()
    {
        FB.init({/*[..]*/});

        FB.Canvas.setAutoGrow(91);
        FB.Canvas.scrollTo(0,0);
    };

    // Load the SDK Asynchronously
    (function(d){
        var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement('script'); js.id = id; js.async = true;
        js.src = "//connect.facebook.net/en_US/all.js";
        ref.parentNode.insertBefore(js, ref);
    }(document));
});

关于javascript - Google Chrome/Windows/FB.Canvas.setAutoGrow 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9974572/

相关文章:

c# - 如何向 ASP.NET 3.5 图表控件添加图例?

javascript - JavaScript 对象是单向链接还是双向链接?

javascript - 如何在 LINQPad 中的代码中单击按钮(而不是通过鼠标)?

javascript - 防止 Twitter 响应式布局在宽度 < 320px 时折叠

php - CMS 表单无法根据 css 正确显示

windows - 告诉我最后一次访问文件的时间的批处理脚本

windows - 如何以弹出模式从命令行在 Firefox\Chrome 中打开 URL?

javascript - React-Native-如何根据特定键值以展开格式打印此对象数组数组?

javascript - 正则表达式匹配整个单词

javascript - CSS 中的伪元素