Facebook Messenger Клиентский чат не отображается

Я пытаюсь включить плагин чата для клиентов Facebook Messenger на своем веб-сайте, но этот плагин не отображается. Пару дней назад все работало нормально, но вдруг перестало работать.

Я получаю два типа ошибок:

1- Когда я не вошел в Facebook, я получаю эту ошибку в консоли:

Не удалось выполнить "postMessage" для "DOMWindow": предоставленный целевой источник (" 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, попытался добавить #xfbml=1&version=v2.12&autoLogAppEvents=1 после URL-адреса для SDK.. совсем не повезло

      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'));

0 ответов

Чтобы обойти это, добавьте это в заголовок ответа:

X-Frame-Options: allow-from *

или же

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

Измените версию Facebook JS SDK на v3.3 и убедитесь, что Facebook SDK и Facebook MCC SDK загружены точно после того, как тег body решит проблему.

Обновление: есть ошибка в SDK Facebook JS, которая вызывает эту проблему, вы можете отследить эту проблему здесь: https://developers.facebook.com/support/bugs/470869643489449/

Другие вопросы по тегам