2013-12-08 51 views
3

在我的网站上,Facebook Like框在45秒后消失。我甚至在自己的html文档中放入了Like框代码,逐字从我从开发者网站得到的结果,但仍然是相同的结果,所以它看起来像Facebook问题,但我不确定。我曾尝试使用IE 11,FF 23.0.1和最新的Chrome浏览器,但它们是相同的。Facebook Like框在45秒后消失

<div id="fb-root"></div> 
    <script>(function(d, s, id) { 
    var js, fjs = d.getElementsByTagName(s)[1]; 
    if (d.getElementById(id)) return; 
    js = d.createElement(s); js.id = id; 
    js.src = "http://connect.facebook.net/en_US/all.js#xfbml=1"; 
    fjs.parentNode.insertBefore(js, fjs); 
    }(document, 'script', 'facebook-jssdk'));</script> 

<div class="fb-like-box" data-href="https://www.facebook.com/Awesome.Animals" data-width="300" 
    data-height="375" data-colorscheme="light" data-show-faces="false" data- 
    header="false" data-stream="true" data-show-border="false"></div> 
+1

我使用了iframe选项而不是HTML5,而且效果很好! – user3079103

回答

-1

由于某些原因,Facebook JavaScript插入了45秒后生成的iframe的大小。检查浏览器开发者控制台。你看到一条警告信息吗? fb:share_button failed to resize in 45s

作为修复程序,使用CSS迫使iframe来在一定的高度和宽度,像这样:

.fb-like-box iframe { 
    width: 110px !important; 
    height: 20px !important; 
} 
+0

这什么都不做,即使它做了,FB的JavaScript仍然会覆盖它。 – mae

0

这是因为NoScript的的。如果你允许Facebook的所有域名都可以通过(facebook.com和facebook.net),那就没问题了。