在IE中使用Fb.login时,Facebook登录弹出窗口保持打开状态

时间:2011-02-06 17:03:01

标签: javascript asp.net-mvc facebook

我正在尝试在我的网站上登录facebook,并且我一直在使用新的Facebook Javascript SDK的FB.Login功能。

登录在FireFox和Chrome中完美运行。登录也适用于IE,但问题是facebook弹出窗口保持打开状态(用户登录并根据需要重定向)。

有没有人知道IE的任何秘密,以便弹出窗口关闭?

这是我的代码:(这是一个asp.net mvc网站,所以这是一个部分视图)

 <div id="fbLoginS" class="smallloginbutton facebooksmall">Facebook Login</div>
 <div id="fb-root"></div>
 <!-- facebook login -->
 <script type="text/javascript" src="http://connect.facebook.net/en_US/all.js"></script>
    <script type="text/javascript">
        <% string facebookaction = Url.Action("FacebookLogOn", "Account");%> 

        FB.init({ appId: '<%:FacebookSettings.Current.AppId %>', status: true, cookie: true, xfbml: true });
        $('#fbLoginS').click(function () {
            FB.login(function (response) {
                if (response.session) {
                    window.location = '<%:facebookaction %>';
                } else {
                    // user cancelled login
                }
            }, { perms: "email" });
        });
    </script>
     <!-- facebook login -->

非常感谢你的帮助, Apolka

2 个答案:

答案 0 :(得分:3)

也许它会帮助某人,所以这是解决方案:

  • 在IE中,如果您在站点链接中配置了一个端口(即http://localhost:1234),则整个facebook连接根本不起作用
  • 如果你只是使用http://localhost,那么登录工作正常,但问题中所述的弹出窗口保持空白
  • 如果您使用http://127.0.0.1或您的产品网址,一切正常:)

答案 1 :(得分:0)

如果您的应用设置为沙盒模式,并且未被标记为应用的“开发人员”或“测试人员”的用户会注册该应用,则也会发生这种情况。