Мы всё ещё дорабатываем эту страницу. Некоторых данных здесь может не хватать — скоро дополним.
Методы
openSliderAppPage
async openSliderAppPage(params: any = {}}: Promise<any>
Метод openSliderAppPage позволяет открыть текущее приложение в новом слайдере, передав произвольные параметры.
Как это работает:
- Передача данных: вы вызываете метод и передаёте объект с параметрами (например, place, action или id).
- Обработка в приложении: на стороне приложения удобнее всего перехватывать эти параметры через middleware. Это позволяет решить, какой маршрут показать пользователю до отрисовки страницы.
- Бесшовная навигация: пользователь видит новый слайдер с нужным содержимым, а логика перенаправления скрыта внутри приложения.
closeSliderAppPage
async closeSliderAppPage(): Promise<void>
Закрывает слайдер с приложением.
openPath
async openPath(url: URL, width: number = 1640): Promise<StatusClose>
Открывает указанный путь внутри портала в слайдере.
Обрабатывает ошибки, связанные с использованием мобильных устройств, и может открыть URL в новой вкладке, если слайдер не поддерживается.
Возвращает StatusClose
Этот пример демонстрирует вызов слайдера Bitrix24 и обработку результата его закрытия.
Ключевые моменты:
- Обработка завершения: после закрытия слайдера SDK возвращает статус. Это позволяет запускать последующие операции, например повторную инициализацию данных приложения.
В некоторых случаях Bitrix24 открывает интерфейс не в слайдере, а в новой вкладке браузера.
- Ограничение: обнаружить закрытие отдельной вкладки стандартными средствами JS практически невозможно.
- Решение: параметр
isOpenAtNewWindowв ответе jsSdk позволяет определить, была ли открыта вкладка вместо слайдера, и правильно настроить логику приложения.
getUrl
getUrl(path: string = '/'): URL
Возвращает URL относительно доменного имени и пути.
$b24 = await initializeB24Frame()
// ...
const url = $b24.slider.getUrl('/settings/configs/userfield_list.php')
getTargetOrigin
getTargetOrigin(): string
Возвращает адрес Bitrix24 (например, https://your_domain.bitrix24.com).