Facebook连接在Internet Explorer 8登录时显示空白弹出窗口

时间:2011-04-25 11:59:38

标签: javascript facebook

我正在将facebook登录集成到我的应用程序中,除了IE之外,它在浏览器中运行良好。它在登录重定向到http://static.ak.fbcdn.net/connect/xd_proxy.php后打开登录窗口,并在弹出窗口中显示空白页面。在其他浏览器中,它将关闭弹出窗口并重定向到我的网站。我的申请网址与http://dev.mysite.com/app/类似。所以我在facebook应用程序设置中给出了域名dev.mysite.com。我正在使用facebook javascript sdk,我的网站是PHP。有人请帮我弄清楚实际问题。

提前致谢

7 个答案:

答案 0 :(得分:6)

如果有人仍有问题,有两件事通常会导致IE登录问题(它保持打开,空白,无响应..):

  1. channelUrl中缺少FB.init参数。
  2. 保护模式: IE - >互联网选项 - >安全标签 - >本地Intranet - > (检查)启用保护模式

答案 1 :(得分:4)

我通过在FB.init中提供channelUrl参数解决了这个问题。现在它的工作正常。给出通道接收器的绝对URL。该文件的内容将是一行<script src="http://connect.facebook.net/en_US/all.js"></script>。谢谢大家 :) `

答案 2 :(得分:0)

请参阅此错误报告:IE8, getLoginStatus never completes when flash XD is used - 听起来可能就是您所遇到的问题。

在这种情况下,请确保您的fb-root div未设置为visibility:hiddendisplay:none,因为这会导致XD Flash无法渲染。

答案 3 :(得分:0)

有时这是因为cookie,尝试清除cookies。它不仅仅是IE中的问题,它在其他浏览器中也存在问题。如果你再次测试你的应用程序,你将面对它。 最好的选择是使用php api,它将带你到facebook页面,用户将输入凭据,它会再次将你发回到你的网站,并在你的网址中嵌入字符串。这是最好的方式,没有任何伤害。易于实施。

答案 4 :(得分:0)

@Shameer提供的自定义渠道解决方案为我解决了这个问题。另请参阅自定义渠道网址的文档: http://developers.facebook.com/docs/reference/javascript/FB.init/

答案 5 :(得分:0)

如果您使用 AdBlocker ,例如隐私獾我使用和喜欢),它可能会默认阻止某些外部网址Facebook在弹出窗口中打开时,导致出现空白屏幕。

只需停用该网页的隐私权限或其他扩展程序),或进入设置并确保不阻止以下网址:

  • www.facebook.com
  • staticxx.facebook.com
  • graph.facebook.com
  • s-static.ak.facebook.com

应该这样做(希望)!

额外提示但不在此点;我发现这些网址中 不允许使用Cookie 通常没问题,只要您不阻止请求,那么Facebook弹出广告应该仍然有效。 使用不同的设置试用你的应用可能会很不错。

答案 6 :(得分:-3)

如果有人仍然遇到此问题,最简单的解决方法是使用http://code.google.com/p/facebook-actionscript-api/中的最新API并发布Flash Player 10的.swf(这是最重要的部分)。