我有一个firefox扩展,通过XMLHttpRequest请求不同的API。然而,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']);
}
代码运行正常,并显示数字。但它让我退出了。有什么想法吗?!
答案 0 :(得分:1)
您正在制作跨域XML HTTP请求。这加上GMX网站设置一个即将到期的会话cookie的可能性 - 您的会话被杀死。这只是一个假设。