这是我的Facebook应用程序当前的登录流程(参见此答案进行解释)。
使用此登录流程时,用户登录时无需重新加载页面,但我会收到静默错误:
logout()
和login()
是虚拟函数,当用户退出或登录时呈现页面。window.fbAsyncInit = function() {
FB.init({
appId: '...',
channelUrl: window.location.protocol + '//' + window.location.host + '/channel.html',
status: false,
cookie: true,
xfbml: false,
oauth: true
});
FB.getLoginStatus(function(response) {
if (response.status === 'connected') {
login(response);
} else {
FB.Event.subscribe('auth.login', function(response) {
login(response);
});
logout();
}
});
};
使用此登录流程时,用户登录时无需重新加载页面,但我会收到静默错误:
我认为重新加载页面会将包含应用程序的iframe转移到阻止了源自“http://www.facebook.com”的框架访问源自“https://s-static.ak.facebook.com”的框架。 请求访问的框架具有“http”的协议,被访问的框架具有“https”的协议。协议必须匹配。
https://
协议,但我不真正理解为什么或是什么意思。为什么会发生这个错误,并且是否需要担心?