Изменить page_id для плагина чата в Facebook во время выполнения - PullRequest
0 голосов
/ 01 июня 2018

В нашем веб-приложении есть плагин чата для клиентов Facebook, и он отлично работает.

Но у нас есть требование, чтобы иметь возможность изменить page_id, на который он указывает (поэтому пользователи общаются на разных страницах, связанных с нашимприложение).Поэтому я попытался не включать div в index.html

<div class="fb-customerchat" page_id="MY PAGE ID"></div>

, а динамически добавлять его в код (мы используем Angular 1.5):

    let fbChatDiv = document.createElement('div');
    fbChatDiv.className = 'fb-customerchat';
    fbChatDiv.setAttribute('page_id', page_id);
    fbChatDiv.setAttribute('ref', '');

    document.body.appendChild(fbChatDiv);

thisподход на самом деле работает ... вроде.Когда я тестирую локально, это работает в половине случаев.Когда я пробую его на сервере, он не работает.

Появляется пузырь чата, но при нажатии на него ничего не происходит.

Я заметил, что когда он работает, есливы идете и проверяете html, div исчезает, как будто он «потребляется» (я полагаю, что это FB javascript sdk), а когда этого не происходит, div остается в html-элементах.Поэтому я предполагаю, что во время загрузки страницы происходит некоторая обработка, которая берет div и заменяет его на iframe из facebook, и по какой-то причине это не происходит в нужное время (случайно на моем локальном компьютере, никогда на сервере)).

Поэтому мне было интересно, имел ли кто-либо еще этот вариант использования и как он был решен, или, по крайней мере, получил некоторое представление о том, как SDK facebook получает div и внедряет содержимое iframe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...