3

我有一个通过 XMLHttpRequest 请求不同 API 的 Firefox 扩展。但是,Facebook 的点赞/分享/评论计数请求会导致在某些在线商店和某些网站中注销。

例如,GMX webmail 必须在每次点击后恢复会话。一些网上商店似乎完全松开了会话,以至于有一个空篮子。

该问题仅在启用 facebook 请求时发生。

请求网址

http://api.facebook.com/method/fql.query?query=SELECT%20normalized_url,%20share_count,%20like_count,%20comment_count,%20click_count,%20total_count%20FROM%20link_stat%20WHERE%20url=%22www.heise.de%22&format=JSON

请求的 Javascript 代码

        var querystring = facebookURL + encodedUrl + facebookURLParams; // looks like the above
        var mFacebookRequest = new XMLHttpRequest();
        mFacebookRequest.onload = parseFacebookResponse;
        mFacebookRequest.open( "GET", querystring );
// already tried without user-agent
        mFacebookRequest.setRequestHeader( "User-Agent", "Mozilla/4.0 (compatible; GoogleToolbar 2.0.114-big; Windows XP 5.1)" );

parseFacebookResponse 函数

         function parseFacebookResponse() {
                var fbcount = "-";
                var share_count = 0;
                var like_count = 0;
                var comment_count = 0;

                var aDoc = mFacebookRequest.responseText;
                if( aDoc == null || aDoc == -1 || aDoc.length == 0 )
                {

                } else {

                    var jsonDoc = JSON.parse( aDoc );
                    var temp = jsonDoc[0];

                    share_count     = parseInt(temp['share_count']);
                    like_count      = parseInt(temp['like_count']);
                    comment_count   = parseInt(temp['comment_count']);



                }

代码运行良好,并且显示了数字。但它让我退出。任何想法?!

4

1 回答 1

1

您正在发出跨域 XML HTTP 请求。再加上 GMX 网站设置了一个立即过期的会话 cookie 的可能性——您的会话被终止。这只是一个假设。

于 2013-04-22T20:37:36.900 回答