Я пытаюсь включить плагин чата для клиентов 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 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