FB.ui에 대한 모든 호출에는 어떤 작업도 수행되지 않습니다. Chrome에서 'display'속성이 'iframe'또는 'dialog'로 설정된 경우 다음 오류가 발생합니다.FB.ui 작동하지 않음
원점이 "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 또는 그 구현에있는 것으로 보입니다.
나는이 웹 사이트에서 꽤 많은 비슷한 문제를 발견했다. 그러나 내가 만났던 해결책 중 어느 것도이 문제를 해결하지 못했다.
친절한 도움을 미리 감사 드리며 관련 정보를 잊어 버린 경우 망설이지 마십시오.