我对FB.ui进行的任何调用都不会有任何操作。在Chrome上,如果'display‘属性设置为'iframe’或'dialog',则会触发以下错误:
阻止源地址为https://www.facebook.com的帧访问源地址为http://my.domain.com的帧。请求访问的帧的协议是"https",被访问的帧的协议是"http“。协议必须匹配。
Firefox和IE都不会在控制台中显示任何内容,但是也没有任何反应。因此,我不太确定这是否是一个实际的XSS问题。根据记录,整个网站都是在HTTP上运行的,我还没有明确指定任何HTTPS查询。
源代码如下:
window.fbAsyncInit = function() {
FB.init({
appId : XXXXXXXXX,
status : true,
cookie : true,
});
FB.Event.subscribe('auth.logout', function(response) {
window.location.reload();
});
window.selectedFacebookFriends = [YYYYYYYYY];
window.inviteFacebookFriends = function() {
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
to = window.selectedFacebookFriends.join(',');
FB.ui({
method: 'apprequests',
message: 'Join ZZZZZZZZZ, it\'s cool there!',
to: to
}, function(response) {});
}
});
}
};
// Load the SDK asynchronously
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/all.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));我尝试了FB.ui的许多其他方法,并更改了所有参数,直接从控制台调用它,但这没有帮助。
Facebook的登录效果很好,就像我用FB.api尝试过的所有图形请求一样。问题似乎出在FB.ui或其实现上。
我在这个网站上发现了很多类似的问题,但我遇到的解决方案都没有解决这个问题。
提前感谢您的帮助,如果我忘记了任何相关信息,请不要犹豫。
发布于 2013-08-07 15:16:30
如果您想要一个弹出对话框,并且遇到此问题,请确保在fb.ui中显式指定display: 'popup'。
https://stackoverflow.com/questions/17793285
复制相似问题