3

Любые вызовы, которые я делаю для FB.ui, не сопровождаются никакими действиями. В Chrome, если для свойства «display» установлено значение «iframe» или «dialog», запускается следующая ошибка:Facebook 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 или ее реализации.

Я нашел немало подобных проблем на этом веб-сайте, но ни одно из решений, с которыми я столкнулся, не решило проблему.

Заранее благодарю вас за помощь и не стесняйтесь, если я забуду какую-либо соответствующую информацию.

ответ

5

Если вы хотите всплывающее диалоговое окно и столкнулись с этой проблемой, обязательно укажите display: 'popup' в fb.ui.