我正在尝试在我的 aspx 页面中实现新的 Facebook Checkbox 插件,但我无法在屏幕上显示它。此错误发生在客户端,但框架被 Conceal 。
错误:
拒绝显示' https://www.facebook.com/v2.9/plugins/messenger_checkbox.php?allow_login=true&app_id= ******* ....' 在框架中,因为祖先违反了以下内容安全策略指令:“frame-ancestors https://www.facebook.com”
到目前为止我做了什么:
<script>
window.fbAsyncInit = function () {
FB.init({
appId: '---MSGAPPID---',
xfbml: true,
version: 'v2.9'
});
};
(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/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk')
);
</script>
<div class="fb-messenger-checkbox"
origin="---Orgin url ------"
page_id="--Pagelivefacebookid--"
messenger_app_id="--Mssgappid--"
user_ref="randomnumber"
prechecked="true"
allow_login="true"
size="large">
</div>
此外,我也已将域列入白名单,但不幸的是无法在我的页面上看到它。建议消除此错误的最佳答案
https://developers.facebook.com/docs/messenger-platform/messenger-profile/domain-whitelisting
最佳答案
我为使它正常工作而修复的错误:
确保在“Messenger 设置”下的“应用程序设置”下订阅该页面
确保“来源”是您尝试呈现此页面的页面的 URL,而不是粉丝页面的 URL。我觉得有点傻,但我确实犯了这个错误。
将您的域列入白名单以确保您没有覆盖它。并获取当前列入白名单的域的列表,以确保其拼写正确并且没有遗漏“www”。
关于javascript - Facebook Messenger 复选框插件未呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44520501/