Facebook Messenger Messenger聊天机器人插件未在Safari / iOS中加载,但在Chrome(Github页面)中加载]]

问题描述 投票:1回答:1

我正在尝试在我的Github页面的网站之一上加载Facebook Messenger插件。它可以在Chrome中正常加载,但不能在Safari或iOS设备上加载。控制台给出以下错误:

Refused to load [...] because it does not appear in the frame-ancestors directive of the Content Security Policy.

代码如下(页面ID和应用ID匿名):

<script>
  var div = document.createElement('div');
  div.className = 'fb-customerchat';
  div.setAttribute('page_id', '[PAGEID]');
  div.setAttribute('ref', 'b64:cGVyc193ZWJzaXRl');
  div.setAttribute('theme_color', '#082954');
  div.setAttribute('logged_in_greeting', 'Hey! Want to get involved in this research?');
  div.setAttribute('logged_out_greeting', 'Hey! Want to get involved in this research? Log into Facebook to start chatting');
  document.body.appendChild(div);
  window.fbMessengerPlugins = window.fbMessengerPlugins || {
    init: function () {
      FB.init({
        appId            : '[APPID]',
        autoLogAppEvents : true,
        xfbml            : true,
        version          : 'v3.3'
      });
    }, callable: []
  };
  window.fbAsyncInit = window.fbAsyncInit || function () {
    window.fbMessengerPlugins.callable.forEach(function (item) { item(); });
    window.fbMessengerPlugins.init();
  };
  setTimeout(function () {
    (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/xfbml.customerchat.js";
      fjs.parentNode.insertBefore(js, fjs);
    }(document, 'script', 'facebook-jssdk'));
  }, 0);
</script>

我检查过的东西:我的网站在Facebook页面设置上被列入白名单。聊天机器人应用程序(Chatfuel.com)还将其列入白名单。

我使用了我的Page ID数字而不是URL。

-

来自Facebook开发人员故障排除部分:

“如果您看到控制台错误,例如”由于祖先违反了以下内容安全策略指令,拒绝在框架中显示**:*

“,请检查呈现插件的页面域是否具有被列入白名单。还要确保您没有将Referrer-Policy标头设置为no-referrer。”

https://developers.facebook.com/docs/messenger-platform/discovery/customer-chat-plugin/

我不确定在我的Beautiful-Jekyll主题Github Pages(https://github.com/daattali/beautiful-jekyll)上哪里可以找到我的推荐人政策

我希望该插件也能够在所有浏览器和iOS设备上加载。有什么建议吗?

提前谢谢您

我正在尝试在我的Github页面的网站之一上加载Facebook Messenger插件。它可以在Chrome中正常加载,但不能在Safari或iOS设备上加载。控制台给出以下错误:拒绝...

plugins github-pages facebook-messenger facebook-chatbot
1个回答
0
投票

您可能已经找到了有关此问题的解决方案,但我遇到了同样的问题,所以找到了一个遮阳棚。在我的iOs Safari设置中,我将“内容块”设置为true。如果将其设置为关闭,我的Messenger聊天图标将显示在我的网站上。

© www.soinside.com 2019 - 2024. All rights reserved.