这是错误:
阻止原始“https://www.facebook.com”的框架访问原点为“http://www.mysite.com”的框架。请求访问的帧具有“https”协议,被访问的帧具有“http”协议。协议必须匹配。
在我的网站上显示对话框,我可以选择人,但是当我点击发送请求时,没有任何反应。请求永远不会被发送。相反,我再次收到相同的错误。
我从错误中理解的是,代码正在访问不同的协议http
vs https
那我怎么强迫Facebook只去http?我试过http://connect.facebook.net/en_US/all.js
但没有帮助。
<div id='fb-root'></div>
<a href='#' onclick='FacebookInviteFriends()'>invite friends</a>
<script src='http://connect.facebook.net/en_US/all.js'></script>
<script>
window.fbAsyncInit = function() {
FB.init({appId: "APP ID", status: true, cookie: true, xfbml: true});
};
function FacebookInviteFriends(){
FB.ui({
method : 'apprequests',
title : 'Title',
message : 'my message'
}, requestCallback);
}
function requestCallback(response){
if(response && response.request) {
console.log(response);
} else {
// No requests sent, you can do what you want (like...nothing, and stay on the page).
}
}
</script>
答案 0 :(得分:0)
确保在fb.ui
中明确指定display: 'popup'