拒绝展示..... frame-ancestors https://www.facebook.com
Refused to display..... frame-ancestors https://www.facebook.com
我在我的网站上添加了 Facebook 客户聊天插件。第一天效果很好。从第二天开始,它不工作了。我在 Google Chrome console:
中看到一条错误消息
Refused to display
'https://www.facebook.com/v2.11/plugins/customerchat.php?app_id=214160985792954&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter%2Fr%2FlY4eZXm_YWu.js%3Fversion%3D42%23cb%3Df157c0f5ff1898c%26domain%3Dwww.fast-pay.cash%26origin%3Dhttps%253A%252F%252Fwww.fast-pay.cash%252Ff11cff6d515fe88%26relation%3Dparent.parent&container_width=0&locale=en_US&minimized=false&ref=front-page&sdk=joey'
in a frame because an ancestor violates the following Content Security
Policy directive: "frame-ancestors https://www.facebook.com/"."
我用谷歌搜索了解决方案。我看到的每个答案都是域白名单问题。
但是我已经在 facebook 页面中将我的域列入白名单。
这是我将域列入白名单的过程
- 首先我进入我的页面设置
- 在信使平台设置下我把我的域名加入白名单
我已经将我的域名设置为多种模式。在这里我给你我的模式
这是控制台错误图片
要避免出现此消息,需要做两件事:
确保您在 HTML 中设置了正确的 Facebook 页面 ID。这应该是 numeric ID,而不是您在 URL 中看到的。我通过 https://findmyfbid.com
找到了我的页面的数字 ID
示例:
<div class="fb-customerchat" page_id="6708927376315932">
</div>
在您的页面 > 设置 > Messenger 平台 将您的域列入白名单。确保这与您的域匹配,使用 HTTPS 协议,如果使用非标准端口,也包括端口。
(然后确保点击 保存 按钮!)
我认为这不是来自 Facebook,而是您的网站。您的浏览器拒绝显示来自 "bad" 源的 iframe,在本例中为 facebook.com.
您可以阅读
- https://developer.mozilla.org/en-US/docs/Web/Security/CSP
- https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
或者像本例中那样批准来自 facebook 的任何请求(这不是最好的方法,因为它削弱了针对 XSS 的一些主要保护):
Link 在 Whosebug:
确保您的 FB 页面已发布。
您没有提到任何有关使用其他插件或 CMS 的内容。您使用的是纯 PHP 还是像 WordPress 这样的 CMS?我想知道您的配置不正确可能存在问题。请重新检查您的 Facebook 页面 ID。对于任何其他插件,请确保将其打开。
我遇到了同样的问题。如果你在控制台中点击它,你会看到它说:
参数 page_id:无效 ID:<107153046051560>
问题只是<>。我删除了它:
它奏效了。
希望它也对你有用。问候
有几件事:
- 确保 Facebook 页面已发布
- 在 Facebook 页面设置(Messenger 平台)下,添加您的域。必须是 https:// 确保域名完全匹配,包括 www(或缺少 www)。
- 使用正确app_id
- 使用此 page_id(来自步骤 3 和 4)
如果聊天插件对您有效,对其他人无效,可能是因为您登录了 FB 并且您是页面管理员。检查步骤 1 和 2。
问题与白名单错误或其他问题无关。关于 google chrome 浏览器问题。如果您使用 firefox 打开,那么 Messenger 聊天就没有问题。我认为 chrome.
有问题
一些常见的事情
白名单域名
Facebook 页面公开可见
正确的页面 ID(你应该使用数字 ID,而不是 URL 中的文本 ID,如果你碰巧有的话)
推荐人策略未设置为“无推荐人”
一些其他原因,
页面未通过 https 加载
添加了多个facebook sdk
正如所有这些答案所证明的那样,发生这种情况的原因可能有多种。
但是,如果您在以 Test User.
身份登录时加载页面,我遇到过但未在此处列出会导致此错误的一种情况
在 "Set Up Customer Chat page" 中确保已单击“完成”按钮。
如果FINISH按钮是灰色的,先点击SAVE按钮
我在我的网站上添加了 Facebook 客户聊天插件。第一天效果很好。从第二天开始,它不工作了。我在 Google Chrome console:
中看到一条错误消息Refused to display 'https://www.facebook.com/v2.11/plugins/customerchat.php?app_id=214160985792954&channel=https%3A%2F%2Fstaticxx.facebook.com%2Fconnect%2Fxd_arbiter%2Fr%2FlY4eZXm_YWu.js%3Fversion%3D42%23cb%3Df157c0f5ff1898c%26domain%3Dwww.fast-pay.cash%26origin%3Dhttps%253A%252F%252Fwww.fast-pay.cash%252Ff11cff6d515fe88%26relation%3Dparent.parent&container_width=0&locale=en_US&minimized=false&ref=front-page&sdk=joey' in a frame because an ancestor violates the following Content Security Policy directive: "frame-ancestors https://www.facebook.com/"."
我用谷歌搜索了解决方案。我看到的每个答案都是域白名单问题。 但是我已经在 facebook 页面中将我的域列入白名单。
这是我将域列入白名单的过程
- 首先我进入我的页面设置
- 在信使平台设置下我把我的域名加入白名单
我已经将我的域名设置为多种模式。在这里我给你我的模式
这是控制台错误图片
要避免出现此消息,需要做两件事:
确保您在 HTML 中设置了正确的 Facebook 页面 ID。这应该是 numeric ID,而不是您在 URL 中看到的。我通过 https://findmyfbid.com
找到了我的页面的数字 ID示例:
<div class="fb-customerchat" page_id="6708927376315932"> </div>
在您的页面 > 设置 > Messenger 平台 将您的域列入白名单。确保这与您的域匹配,使用 HTTPS 协议,如果使用非标准端口,也包括端口。 (然后确保点击 保存 按钮!)
我认为这不是来自 Facebook,而是您的网站。您的浏览器拒绝显示来自 "bad" 源的 iframe,在本例中为 facebook.com.
您可以阅读
- https://developer.mozilla.org/en-US/docs/Web/Security/CSP
- https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy
或者像本例中那样批准来自 facebook 的任何请求(这不是最好的方法,因为它削弱了针对 XSS 的一些主要保护):
Link 在 Whosebug:
确保您的 FB 页面已发布。
您没有提到任何有关使用其他插件或 CMS 的内容。您使用的是纯 PHP 还是像 WordPress 这样的 CMS?我想知道您的配置不正确可能存在问题。请重新检查您的 Facebook 页面 ID。对于任何其他插件,请确保将其打开。
我遇到了同样的问题。如果你在控制台中点击它,你会看到它说: 参数 page_id:无效 ID:<107153046051560>
问题只是<>。我删除了它:
它奏效了。 希望它也对你有用。问候
有几件事:
- 确保 Facebook 页面已发布
- 在 Facebook 页面设置(Messenger 平台)下,添加您的域。必须是 https:// 确保域名完全匹配,包括 www(或缺少 www)。
- 使用正确app_id
- 使用此 page_id(来自步骤 3 和 4)
如果聊天插件对您有效,对其他人无效,可能是因为您登录了 FB 并且您是页面管理员。检查步骤 1 和 2。
问题与白名单错误或其他问题无关。关于 google chrome 浏览器问题。如果您使用 firefox 打开,那么 Messenger 聊天就没有问题。我认为 chrome.
有问题一些常见的事情
白名单域名
Facebook 页面公开可见
正确的页面 ID(你应该使用数字 ID,而不是 URL 中的文本 ID,如果你碰巧有的话)
推荐人策略未设置为“无推荐人”
一些其他原因,
页面未通过 https 加载
添加了多个facebook sdk
正如所有这些答案所证明的那样,发生这种情况的原因可能有多种。
但是,如果您在以 Test User.
身份登录时加载页面,我遇到过但未在此处列出会导致此错误的一种情况在 "Set Up Customer Chat page" 中确保已单击“完成”按钮。 如果FINISH按钮是灰色的,先点击SAVE按钮