<fb:like>按钮在IE8中不起作用</fb:like>

时间:2011-09-16 00:59:34

标签: facebook facebook-like

这个问题真的让我感到害怕,我现在一直在谷歌搜索很长时间,而我却找不到答案。

问题是我的LIKE按钮无法在IE8(Internet Explorer 8)上呈现,但确实在Chrome上显示。

以下是测试页面的网址: http://78.69.194.141/vinn/test.php

如果你不使用IE8,你应该在“h5标题”下看到一个类似的按钮。

这是相关代码:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml" xml:lang="en" lang="en">
<link rel="stylesheet" type="text/css" href="fbstyle.css" />
<div id="fb-root"></div>
<script src="http://connect.facebook.net/en_US/all.js"></script>
<script>
  FB.init({
    appId  : '195633697119592',
    status : true, // check login status
    cookie : true, // enable cookies to allow the server to access the session
    xfbml  : true, // parse XFBML
    channelURL : 'http://78.69.194.141/vinn/channel.html', // channel.html file
    oauth  : true // enable OAuth 2.0
  });
  FB.UIServer.setLoadedNode = function(a,b){FB.UIServer._loadedNodes[a.id]=b;};
</script>

和按钮:

<fb:like layout="button_count"></fb:like>

我尝试了许多不同的方法,加载js异步和互联网上提到的所有其他方式但结果。

似乎这个问题只发生在我的服务器上,因为那些像按钮一样在其他地方工作,使用完全相同的代码(afaik)。

有没有人有任何线索?

3 个答案:

答案 0 :(得分:4)

IE8抛出此错误:

  

SCRIPT5007:无法设置属性“innerHTML”的值:object为null或undefined   all.js,第6行1252字符

它指的是facebook取代<fb:like>标签的iframe,其中暗示按钮的设置选项错误,或者页面上存在无效的HTML,这会弄乱DOM,因此JavaScript可以找不到iframe。

http://validator.w3.org/check?verbose=1&uri=http%3a%2f%2f78.69.194.141%2fvinn%2ftest.php

一个好的开始就是放入<head><body>标签。

答案 1 :(得分:1)

您似乎将<head>标记和<body>元素混合在一起,而不是正确定义部分。您需要<head>标记的<link>部分(可能还有一些<script>标记)和<body>部分的<div>部分。就目前而言,您的页面无效HTML。

答案 2 :(得分:0)

我有同样的问题。尝试将xmlns:fb="http://www.facebook.com/2008/fbml"添加到<html>标记,如下所示:

<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">