Skip to main content
Платформа позволяет добавить в школу собственный JavaScript — например, для аналитических пикселей, внешних виджетов или тонкой настройки интерфейса. Код выполняется на страницах вашей школы и настраивается индивидуально для каждой школы (per-school). Основной механизм — глобальный объект window.exodeJsConfig, который вы задаёте в своём скрипте. Платформа читает его в рантайме и применяет заданные настройки.
Кастомный код выполняется в браузере ваших учеников с полными правами страницы. Ошибка в скрипте может сломать интерфейс школы. Добавляйте только проверенный код, тестируйте изменения и не вставляйте скрипты из недоверенных источников.

Объект window.exodeJsConfig

Конфиг задаётся как обычный JavaScript-объект на объекте window. Сейчас он поддерживает управление видимостью отдельных UI-элементов через массив excludeElements:
Платформа проверяет этот массив через хелпер и скрывает элемент, если его идентификатор в нём присутствует.

excludeElements — скрытие элементов интерфейса

excludeElements — это список идентификаторов UI-элементов, которые нужно скрыть в интерфейсе школы.
На данный момент управление видимостью через excludeElements поддерживает только элемент videoWatchProgress. Это единственное значение, объявленное в типе конфига. Список может расширяться в новых версиях платформы — не добавляйте несуществующие идентификаторы, они не дадут эффекта.

Подключение своих скриптов и пикселей

Кастомный код — подходящее место для аналитических пикселей и внешних скриптов (например, счётчиков или чат-виджетов). Вставляйте их вместе с настройкой exodeJsConfig:
Задавайте window.exodeJsConfig как можно раньше при загрузке страницы, чтобы платформа успела применить настройки до отрисовки соответствующих элементов.

Хорошие практики

  • Оборачивайте свой код в IIFE или проверки на существование объектов, чтобы не конфликтовать с платформой.
  • Не переопределяйте глобальные объекты платформы (window.exode, window.React и т.п.).
  • Изменяйте excludeElements только на существующие идентификаторы из таблицы выше.
  • Тестируйте кастомный код в своей школе перед публикацией для всех учеников.
Не размещайте в кастомном коде секреты и токены (в том числе ключи API школы) — этот код виден всем посетителям школы. Для серверных интеграций используйте API-ключи и вебхуки на своём бэкенде.