Facebook Messenger客户聊天未显示

时间:2019-05-28 10:30:18

标签: facebook facebook-customer-chat

我正在尝试在我的网站中包括Facebook Messenger客户聊天插件,但该插件未显示。几天前工作正常,但突然停止工作。

我遇到两种错误:

1-当我未登录Facebook时,我在控制台中收到此错误:

  

无法在“ DOMWindow”上执行“ postMessage”:目标来源   提供的('https://www.facebook.com')与收件人不匹配   窗口的原点('https://web.facebook.com')。

我在控制台中使用了FB.CustomerChat.show(),出现了对话框,但是重复了此错误,并且没有显示气泡。

2-当我登录到Facebook时,没有出现任何错误,并且插件仍然没有出现。 我在控制台中使用了FB.CustomerChat.show(),出现了对话框,但没有显示气泡,但是这次在气泡的iframe中显示了一个错误链接,说:

  

此插件需要使用Javascript SDK和XFBML

我尝试更改sdk的版本,更改了Facebook应用(developers.facebook.com)中的设置,将我的Facebook页面中的域列入了白名单, 尝试在sdk的网址之后添加#xfbml = 1&version = v2.12&autoLogAppEvents = 1。 完全没有运气。

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

      (function (d, s, id) {
        var js;
        var fjs = d.getElementsByTagName(s)[0];
        if (d.getElementById(id)) {return;}
        js = d.createElement(s); js.id = id;
        js.src = 'https://connect.facebook.net/'+localization+'/sdk/xfbml.customerchat.js';
        fjs.parentNode.insertBefore(js, fjs);
      }(document, 'script', 'facebook-jssdk'));

2 个答案:

答案 0 :(得分:1)

要解决此问题,请将其添加到响应标头:

X-Frame-Options: allow-from *

X-Frame-Options: allow-from https://www.facebook.com https://web.facebook.com

答案 1 :(得分:0)

Facebook JS SDK 的版本更改为 v3.3 ,并确保 Facebook SDK Facebook MCC SDK < / strong>都在body标签解决问题后完全加载。