Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Facebook Connect/Graph-Internet Explorer中出现问题,带有fb:登录对话框(未关闭)_Javascript_Facebook_Fbconnect - Fatal编程技术网

Javascript Facebook Connect/Graph-Internet Explorer中出现问题,带有fb:登录对话框(未关闭)

Javascript Facebook Connect/Graph-Internet Explorer中出现问题,带有fb:登录对话框(未关闭),javascript,facebook,fbconnect,Javascript,Facebook,Fbconnect,我正在尝试让FacebookConnect的东西在我的本地主机上运行。在FireFox和Chrome中,它可以完美地工作。在Internet Explorer中: “连接”对话框中出现错误。这是: 无效参数 Facebook Connect跨域接收器URL()必须以应用程序的Connect URL()作为前缀。您可以在应用程序设置编辑器中配置连接URL 验证成功后,Internet Explorer将在弹出窗口中重定向到本地主机上的页面,即我的facebook connect URL。在Chr

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

  • “连接”对话框中出现错误。这是:

    无效参数 Facebook Connect跨域接收器URL()必须以应用程序的Connect URL()作为前缀。您可以在应用程序设置编辑器中配置连接URL

  • 验证成功后,Internet Explorer将在弹出窗口中重定向到本地主机上的页面,即我的facebook connect URL。在Chrome和Firefox中,它关闭弹出窗口并允许处理程序重新加载页面

这是非常令人沮丧的,因为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.

init({appId:'MY_APP_ID',status:true,cookie:true,xfbml:true});
FB.Event.subscribe('auth.login',函数(响应){
window.location.reload();
});
非常感谢。

多亏了Facebook开发者论坛,我有了答案。这种奇怪的行为是由于在Facebook Connect URL中使用了端口号造成的,即不需要在URL中指定的标准端口80

答案如下:


多亏了Facebook开发者论坛,我有了答案。这种奇怪的行为是由于在Facebook Connect URL中使用了端口号造成的,即不需要在URL中指定的标准端口80

答案如下:


我认为这是facebook javascript中的一个bug(详细信息见)


我找到了一个解决办法:在浏览器中使用而不是在Internet Explorer、Firefox和Chrome三种浏览器中都能使用。

我认为这是facebook javascript中的一个bug(详细信息见)


我找到了一个解决方法:在浏览器中使用,而不是在Internet Explorer、Firefox和Chrome这三种浏览器中都可以使用。

此外,请确保此标签紧跟在您的body标签之后:
另外,确保此标记紧跟在您的body标记之后:

以防其他人在这里绊倒,在OP的代码中看不到这一点,在我将xmlns:fb属性添加到我的html open节点后,这一点就起到了作用:

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

为了防止其他人在这里绊倒,在OP的代码中没有发现这一点,在我将xmlns:fb属性添加到html打开节点后,这一点就起到了作用:

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

正如萨克森·德鲁塞所指出的,标有“正确”的答案不再适用。我通过做两件事(我使用的是visual studio 2013),解决了IE11中在localhost上运行的Fb.login()弹出窗口的问题:

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

正如Saxon Druce指出的,标有“正确”的答案不再有效。我通过做两件事(我使用的是visual studio 2013),解决了IE11中在localhost上运行的Fb.login()弹出窗口的问题:

1) 以管理员身份运行VS 2013,并在解决方案属性中将项目url更改为:
2) 一年后,在开发者门户中反映Facebook应用程序设置中的url更改,此错误持续存在解决方法似乎也不再有效-我发现我只能在Internet Explorer中使用
http://127.0.0.1/
-
http://127.0.0.1:8080/
http://localhost:8080/
http://localhost/
不起作用。Facebook应用程序需要配置
http://127.0.0.1/
也是。一年后,这个错误持续存在。解决方法似乎也不再有效了-我发现我只能在
http://127.0.0.1/
-
http://127.0.0.1:8080/
http://localhost:8080/
http://localhost/
不起作用。Facebook应用程序需要配置
http://127.0.0.1/
也是。