0

我有一个带有 facebook 连接的网站和一个 facebook 页面选项卡,用户必须登录到 facebook。

我使用 JS API 并打开一个弹出窗口让用户连接。

它在任何地方都可以正常工作,但在 7 和 8 中。

而不是在弹出窗口中打开,而是在新选项卡中打开。用户可以登录,但在它保持打开状态并重定向到空白页面后(https://www.facebook.com/dialog/permissions.request)。

登录成功,如果页面被刷新,则用户已登录,但我需要它是一个弹出窗口并在之后自行关闭并执行回调,以便我可以像在其他浏览器中一样刷新页面。

任何人都知道如何解决这个问题,尝试了我能找到的一切,但没有任何效果。

我的代码的一部分:$`

<div id="fb-root"></div>
            <script type="text/javascript">
                window.fbAsyncInit = function() {
                    FB.init({
                          appId   : '<cfoutput>#appId#</cfoutput>',
                          cookie  : true, // enable cookies to allow the server to access the session
                          oauth   : true, // OAuth 2.0
                          status  : true, // check login status
                          xfbml   : true, // parse XFBML
                          channelUrl: 'http://192.168.1.96/gocoupons/OngletFacebook/channelUrl.cfm' //custom channel
                    });
                };

                (function(d){
                 var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
                 if (d.getElementById(id)) {return;}
                 js = d.createElement('script'); js.id = id; js.async = true;
                 js.src = "//connect.facebook.net/en_US/all.js";
                 ref.parentNode.insertBefore(js, ref);
                }(document));

                /*(function() {
                    var e = document.createElement('script');
                    e.src = document.location.protocol + '//connect.facebook.net/en_US/all.js';
                    e.async = true;
                    document.getElementById('fb-root').appendChild(e);
                }());*/
                function login() {
                    //$.cookie('fbsr_<cfoutput>#appId#</cfoutput>',null);
                    FB.login(function(response) {
                        if (response.authResponse) {
                            window.location.reload();
                        }
                    }, {scope: 'email,user_checkins'});
                }
                function addToPage() {
                    FB.ui({method: 'pagetab'}, function(response){
                        $('#pageid').val(JSON.stringify(response));
                        $('#formAjoutPage').submit();
                    });
                }
            </script>

`

4

0 回答 0