Skip to main content
Сборка CDN включает React, поэтому вы можете использовать виджет на статических сайтах, WordPress, Webflow или любой странице, где можно добавить HTML. Не нужны ни npm, ни сборщик, ни фреймворк.

URL-адреса CDN

URL-адреса latest создаёт генератор сниппетов для встраивания в панели управления. Они кэшируются на 5 минут и автоматически получают новые стабильные релизы. Закреплённые пути /widget/vX.Y.Z/ неизменяемы и кэшируются на длительный срок — если вы закрепляете версию, сопоставьте её с релизом npm @thunderphone/widget, для которого ведёте разработку.

Базовое использование

Виджет монтируется в целевой элемент и отображается как панель с фиксированным положением в углу области просмотра (по умолчанию bottom-right, управляется параметром position). Элемент монтирования — только корневой элемент React; его расположение на странице не влияет на место отображения виджета.

Параметры монтирования

ThunderPhone.mount() принимает те же параметры, что и компонент React, а также свойство element:

Очистка

ThunderPhone.mount() возвращает экземпляр виджета с методами очистки:
unmount() и destroy() выполняют одно и то же — отключают активный голосовой сеанс и удаляют виджет из DOM. Используйте тот вариант, который лучше читается в вашем коде.
Всегда очищайте виджет при переходе со страницы в одностраничных приложениях или при удалении содержащего элемента. Это гарантирует корректное отключение активных голосовых сеансов.

Примеры

Тёмная тема с пользовательским цветом

Пользовательское положение

С обработчиками событий

С рингтоном

Использование ссылки на DOM-элемент

Интеграция с WordPress / CMS

Добавьте это в блок пользовательского HTML или в футер вашей темы:
<div> можно разместить где угодно — это только точка монтирования. Сам виджет отображается как фиксированное наложение в углу области просмотра (задаётся параметром position) и не влияет на расположение окружающего содержимого.

Устранение неполадок

Убедитесь, что загружены оба файла: CSS и JS. Проверьте консоль браузера на наличие сетевых ошибок. Убедитесь, что целевой элемент существует в DOM до вызова ThunderPhone.mount().
Скрипт ещё не загрузился. Убедитесь, что тег <script> для widget.js расположен перед вызовом монтирования, или оберните вызов монтирования в обработчик DOMContentLoaded.
Добавьте свой домен в список разрешённых доменов в настройках Разработчики на app.thunderphone.com. Помните, что localhost всегда разрешён.

Следующие шаги

Стилизация

Настройте внешний вид виджета с помощью пользовательских свойств CSS.

Компонент React

Используете React? Интеграция компонента проще.