Чат клиента Facebook Messenger не отображается

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

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

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

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('https://www.facebook.com') does not match the recipient window's origin ('https://web.facebook.com').

Я использовал FB.CustomerChat.show() в консоли, и диалоговое окно появляется, но ошибка повторяется, и пузырь не отображается.

2- Когда я вхожу в Facebook, я не получаю никаких ошибок, и плагин по-прежнему не появляется. Я использовал FB.CustomerChat.show() в консоли, и диалоговое окно появляется, но пузырь не отображается, но на этот раз в iframe всплывающего окна отображается ссылка «Ошибка», говорящая:

this plugin requires the use of the Javascript SDK and 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'));
Почему Facebook остановился на PHP
Почему Facebook остановился на PHP
PHP имеет долгую историю с Facebook, и это был основной язык программирования, использовавшийся для создания сайта в первые годы его существования....
0
0
2 700
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Изменение версии для Facebook JS SDK на v3.3 и обеспечение загрузки Фейсбук SDK и SDK Центра клиентов Facebook сразу после того, как тег body решит проблему.

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

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

X-Frame-Options: allow-from *

или

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

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