facebook聊天进入网站时出现内容安全策略错误?

facebook聊天进入网站时出现内容安全策略错误?,facebook,Facebook,我正在尝试将facebook聊天集成到我的网站,但出现以下错误: Refused to display 'https://www.facebook.com/v2.12/plugins/customerchat.php? app_id=166409452530897&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fconnect %2Fxd_arbiter%2Fr%2FJW5GlLnAsFw.js%3Fversion%3D42%23cb%3Df1

我正在尝试将facebook聊天集成到我的网站,但出现以下错误:

Refused to display 'https://www.facebook.com/v2.12/plugins/customerchat.php?
app_id=166409452530897&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fconnect
%2Fxd_arbiter%2Fr%2FJW5GlLnAsFw.js%3Fversion%3D42%23cb%3Df1fc7859561b6e%26do
main%3D[domainsnipped]%26origin%3Dhttps%253A%252F%252F[domainsnipped]%252Ff17b909ebfe83c4%26relation%3Dparent.parent&container_width=0&locale=
en_US&page_id=857469729300&sdk=joey' in a frame because an ancestor violates 
the following Content Security Policy directive: "frame-ancestors 
https://www.facebook.com".
我添加了确切的
https://www.example.com/
作为我的页面设置中的白名单域

报告我的pageID为857469729300

我的facebook应用程序ID(取自)似乎是166409452530897,该应用程序是“实时的”

这是我网站上的代码:

<div class="fb-customerchat" page_id="857469729300"></div>

<script>
    window.fbAsyncInit = function() {
        FB.init({
            appId            : '166409452530897',
            autoLogAppEvents : true,
            xfbml            : true,
            version          : 'v2.12'
        });
    };

    (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 = "https://connect.facebook.net/en_US/sdk.js";
        fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
</script>

window.fbAsyninit=函数(){
FB.init({
appId:'166409452530897',
自动假肢:对,
xfbml:是的,
版本:“v2.12”
});
};
(功能(d、s、id){
var js,fjs=d.getElementsByTagName[0];
if(d.getElementById(id)){return;}
js=d.createElement;js.id=id;
js.src=”https://connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js,fjs);
}(文档“脚本”、“facebook jssdk”);
我做错了什么?非常感谢!

根据:

如果您看到控制台错误,如“由于祖先违反以下内容安全策略指令而拒绝在帧中显示:*”,请检查插件呈现所在页面的域是否已被列入白名单。此外,请确保未将引用者策略头设为“无引用者”

在您的情况下,您发送
Referer Policy:same origin
response header,这意味着在请求iframe url时,Referer请求头仅为同一域的iframe url设置,在本例中为www.facebook.com

因此,
Referer:https://www.example.com
没有为facebook聊天url设置请求标头,您可能因此而收到此错误

将响应标题更改为
origin

例如,使用php时,请执行以下操作:

header('Referrer-Policy: origin');
注意,您可能需要重新加载页面几次,并等待几分钟,以便浏览器“理解”

工具书类


看看这有什么帮助吗?遗憾的是没有,我在发布之前在这里读到了这一点和其他类似的问题。我在加载你的网站时没有看到任何错误,你在哪个页面上集成了聊天功能?该死的,我尝试过禁用该标题,并确实刷新了几次页面,但都没有产生任何影响。我所能想到的就是这一点我当时没能重新启动nginx:(谢谢!你介意从你的答案中编辑域名吗?谢谢。