IE8(Internet Explorer 8)中<fb:login-button>的问题

5

我在网站上实现了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上,按钮出现并正常工作。

有什么想法吗?


谢谢,我不知道这个漂亮的勾号。对于这个问题有任何答案吗? - Collector
3个回答

15

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

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

这个问题被提出之前很久就存在了。 - Collector

4
我曾经遇到了同样的问题,因为我把“fb:login-button”放在了一个“a”标签里面。如果你把fb按钮放在另一个元素里,请尝试将其单独留出来。

这两个页面中有什么不同?它不在“a”标签内,而是在其他元素内部,因为所有内容都始终在其他元素内。谢谢。 - Collector
1
你刚刚为我节省了数小时的猎错时间。问题解决了!非常感谢。 - Jhourlad Estrella

2

我刚刚看到了同样的问题 < curse_m$_ie 标签 >,并通过正确连接通道文件来修复它。来自https://developers.facebook.com/docs/reference/javascript/

Channel File

The channel file addresses some issues with cross domain communication in certain browsers. The contents of the channel.html file can be just a single line:

<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

1
他们故意省略了 http - // 允许它在 http 和 https 上工作。 - benz001
好的,没注意到 - 不过我相信 FB 的示例中有 http,在这里,他们现在可能要求所有连接都使用 https。不确定。 - Eskim0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接