На веб-сайте, на котором я работаю, есть опция входа в Facebook, но недавно пользователь сообщил, что он не работает на них. Я отключил мои расширения и т.д., Я получил эту ошибку в консоли:
Blocked a frame with origin "https://www.facebook.com" from accessing a frame
with origin "http://static.ak.facebook.com". The frame requesting access has
a protocol of "https", the frame being accessed has a protocol of "http".
Protocols must match.
Есть ли опция, которую я могу подавать в API, который заставит ее работать с одними и теми же протоколами? FYI, основной сайт работает по протоколу HTTP (нет S).
Это особенно странно, потому что кажется, что он внезапно прекратил работу (но возможно, что это всегда было проблемой, поскольку я новичок и изучаю эту систему).
У меня есть этот код у подножия моей страницы:
<div id="fb-root"></div>
<script>
window.fbAsyncInit = function() {
FB.init({
appId : ..., // App ID
status : true, // check login status
cookie : true, // enable cookies to allow the server to access the session
xfbml : true, // parse XFBML
channel: '//...mychannel.../channel'
});
FB.Event.subscribe('auth.authResponseChange', function(fbResponse) {
// function that logs in user
});
};
// Load the SDK Asynchronously
(function(d){
var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
if (d.getElementById(id)) {return;}
js = d.createElement('script'); js.id = id; js.async = true;
js.src = "//connect.facebook.net/en_US/all.js";
ref.parentNode.insertBefore(js, ref);
}(document));
</script>