<fb:login-button>仅限IE8(Internet Explorer)的问题</fb:login-button>

时间:2010-11-07 06:24:33

标签: internet-explorer internet-explorer-8 facebook

在我的网站上,我已经实现了Facebook登录按钮,它适用于除IE以外的所有浏览器。不知道为什么在IE上它不能很好地工作。您可以在我的网站http://colnect.com的主页上看到它已损坏,并出现以下Javascript错误:

Message: Unknown runtime error
Line: 43
Char: 729
Code: 0
URI: http://connect.facebook.net/en_US/all.js

在具有完全相同的FBML代码http://colnect.com/en/account/createhttp://colnect.com/en/sfGuardAuth/signin的其他两个页面上,按钮出现并且运行良好。

有什么想法吗?

3 个答案:

答案 0 :(得分:16)

将此内容添加到您的文档中:

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

答案 1 :(得分:4)

我有同样的问题,因为我把“fb:login-button”放在“a”标签内。如果你在另一个元素中有fb按钮,请尝试保留它。

答案 2 :(得分:2)

我刚看到同样的事情&lt; curse_m $ _ie tag&gt;并能够通过正确挂钩通道文件来解决它。来自https://developers.facebook.com/docs/reference/javascript/

  

频道文件

     

频道文件解决了跨域通信的一些问题   在某些浏览器中。 channel.html文件的内容可以是   一行:

<script src="//connect.facebook.net/en_US/all.js"></script>

好的,所以我认为他们的意思是在前面添加一个http:,无论如何,这就是让我工作的原因。然后你需要在你的FB.init中引用频道文件 - 好吧,看看他们的页面,但通常是:

<script>   
window.fbAsyncInit = function() {
FB.init({
appId      : 'YOUR_APP_ID', // App ID
channelUrl : '//WWW.YOUR_DOMAIN.COM/channel.html', // Channel File
...

希望这对现在正在拉扯头发的人有帮助。希望它对我以外的其他人有用!

哦,也刚刚找到了关于这个主题的链接:http://blog.tiecliphq.com/2011/06/ie8-facebook-xd-proxy-fix.html