FB.UI方法:发送显示:'popup'在IE中保持循环

时间:2011-09-06 15:32:05

标签: facebook-graph-api facebook facebook-c#-sdk

我有facebook iFrame应用程序正在公司页面中显示。 在同一个iframe应用程序我有邀请按钮,我们打开FB.UI发送方法打开邀请对话框。

由于某些原因,自上周以来,我的发送窗口没有关闭。我用fiddler看看发生了什么,并注意到以下URL继续循环。这仅在IE中发生,在所有其他浏览器中都能正常工作。

https://s-static.ak.fbcdn.net/connect/xd_proxy.php?version=3#cb=f352b316971395&origin=http%3A%2F%2Fqa.xxxx.local%2Ff281b26d528cc6&relation=opener&transport=flash

这是我的代码:

<div id="fb-root">  </div>
<script type="text/javascript" src="http://connect.facebook.net/en_GB/all.js"></script>
<div class="footer">
    <br />
    <script type="text/javascript">
        FB.init({
            appId: '<%=lAppId %>',
            status: true, // check login status
            cookie: true, // enable cookies to allow the server to access the session
            xfbml: true  // parse XFBML
        });

    </script>
</div>

点击“邀请”按钮后,我正在调用javascript:

function invite() {
        var lLinkToPublish=GeAppUrl();
        var lTextToPublish=GetPublishText();
        var lTitleText=GetInvitationTitle();
       FB.ui({
              method: 'send',
              name: lTitleText,
              display: 'popup',
              description: lTextToPublish,
              link: lLinkToPublish ,
              });


    }

我尝试过例如解决方案。没有运气 Facebook php app keeps looping in IE, is there a fix on server side?

1 个答案:

答案 0 :(得分:0)

自己想出来,在这里发布,这样可以帮助其他人面对类似的问题。

原因是:

1)始终使用HTTPS打开发送弹出框,我使用http://connect.facebook.net/en_GB/all.js进行连接API,我必须将 HTTP 替换为 HTTPS

2)我正在使用服务器控件来调用FB.UI方法。我不得不用普通的HTML输入控件替换它。

希望这有帮助。

-Imran