1

我正在尝试让 facebook 连接的东西在我的本地主机上工作。在 FireFox 和 Chrome 中它可以完美运行。在 Internet Explorer 中:

这非常令人沮丧,因为 Chrome 和 Firefox 中的行为是完美的。请你能提供一些建议 - 我真的坚持这一点。我的 HTML 代码如下:

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

<fb:login-button></fb:login-button>


<div id="fb-root"></div>
        <script src="http://connect.facebook.net/en_US/all.js"></script>
        <script>
        FB.init({appId: 'MY_APP_ID', status: true, cookie: true,xfbml: true});
        FB.Event.subscribe('auth.login', function(response) {
                window.location.reload();
            });


        </script>

Thank you.
4

5 回答 5

3

我认为这是 facebook javascript 中的一个错误(论坛帖子中的详细信息)。

我找到了一个解决方法:在浏览器中使用http://127.0.0.1:8080/而不是http://localhost:8080/似乎适用于 Internet Explorer、Firefox 和 Chrome 的所有三个。

于 2010-08-02T15:45:13.157 回答
3

以防其他人在这里绊倒并且没有在 OP 的代码中捕捉到这一点,这在我将 xmlns:fb 属性添加到我的 html 打开节点后起作用:

<html xmlns:fb="http://www.facebook.com/2008/fbml">
于 2012-07-10T16:14:14.717 回答
0

感谢 Facebook 开发者论坛,我得到了答案。这种奇怪的行为是由在 Facebook Connect URL 中使用端口号引起的,而不是不需要在 URL 中指定的标准端口 80。

完整的答案在这里:

http://forum.developers.facebook.com/viewtopic.php?pid=232589

于 2010-06-02T18:14:09.920 回答
0

此外,请确保此标签位于您的 body 标签之后:<div id="fb-root">

于 2010-11-11T14:25:21.207 回答
0

正如撒克逊德鲁斯指出的那样,标记为正确的答案不再有效。通过做两件事(我使用的是 Visual Studio 2013),我能够解决在 localhost 上运行的 IE11 中的 Fb.login() 弹出窗口的问题:

1) 以管理员身份运行 VS 2013,并在解决方案属性中,将项目 url 更改为:http://localhost/ 2) 在开发人员门户中的 Facebook 应用程序设置中反映 url 更改

于 2015-07-01T16:50:53.070 回答