Rails Turbo удаляет HTML-код, внедренный Hubspot при перенаправлении страницы
Я использую чат-бота Hubspot в приложении rails, которое настроено с помощью Hotwire и turbo. Когда страница загружается изначально, сценарий Hubspot вставляет некоторый HTML-код в тело страницы, содержащей чат-бота. Как только происходит перенаправление, тело заменяется, а введенный код удаляется.
Как я могу сохранить введенный код в теле? Я попытался обернуть скрипт и область, где вводится код, в
data-turbo="false"
, это не сработало.
1 ответ
Turbolinks работает, заменяя весь ваш HTML-код телом новой страницы. Это уничтожит все изменения, внесенные в тело HTML (например, виджет чата).
Возможные решения:
Прямые турболинки для замены внутреннего тега HTML вместо всего тела. Вот обращение в службу поддержки с несколькими попытками.Официально не поддерживается и кажется немного наброском.
Повторно инициализируйте плагин чата после того, как он будет уничтожен. Это то, что обычно происходит, когда вы щелкаете по странице. Вот их документация по обновлению бота.Похоже, это должно работать так:
document.addEventListener("turbolinks:load", function() {
window.HubSpotConversations.widget.refresh();
})