Ця документація була автоматично перекладена штучним інтелектом.
JS Block — це високогнучкий блок для кастомного рендерингу, що дозволяє безпосередньо писати JavaScript-скрипти для генерації інтерфейсів, прив'язування подій, виклику API даних або інтеграції сторонніх бібліотек. Він ідеально підходить для сценаріїв персоналізованої візуалізації, тимчасових експериментів та легких розширень, які важко реалізувати за допомогою вбудованих блоків.
Контекст виконання JS Block вже містить вбудовані можливості, які можна використовувати безпосередньо:
ctx.element: DOM-контейнер блоку (безпечно обгорнутий як ElementProxy), що підтримує innerHTML, querySelector, addEventListener тощо;ctx.requireAsync(url): асинхронно завантажує бібліотеку AMD/UMD за URL-адресою;ctx.importAsync(url): динамічно імпортує ESM-модуль за URL-адресою;ctx.openView: відкриває налаштований вигляд (спливаюче вікно/бічна панель/сторінка);ctx.useResource(...) + ctx.resource: отримує доступ до даних як до ресурсу;ctx.i18n.t() / ctx.t(): вбудована функція інтернаціоналізації;ctx.onRefReady(ctx.ref, cb): рендерить після готовності контейнера, щоб уникнути проблем із послідовністю;ctx.libs.React / ctx.libs.ReactDOM / ctx.libs.antd / ctx.libs.antdIcons / ctx.libs.dayjs: вбудовані загальні бібліотеки, такі як React, ReactDOM, Ant Design, іконки Ant Design та dayjs, для рендерингу JSX та обробки часу. (ctx.React / ctx.ReactDOM / ctx.antd залишаються для сумісності.)ctx.render(vnode): рендерить React-елемент, HTML-рядок або DOM-вузол у контейнер за замовчуванням ctx.element; багаторазові виклики повторно використовують той самий React Root і перезаписують наявний вміст контейнера.Ви можете додати JS Block на сторінку або у спливаюче вікно.

Редактор скриптів JS Block підтримує підсвічування синтаксису, підказки про помилки та вбудовані фрагменти коду (Snippets), що дозволяє швидко вставляти типові приклади, такі як рендеринг діаграм, прив'язка подій до кнопок, завантаження зовнішніх бібліотек, рендеринг компонентів React/Vue, часові шкали, інформаційні картки тощо.
Snippets: Відкриває список вбудованих фрагментів коду. Ви можете шукати та одним кліком вставляти вибраний фрагмент у поточну позицію курсору в редакторі коду.Run: Безпосередньо запускає код у поточному редакторі та виводить журнали виконання на нижню панель Logs. Підтримує відображення console.log/info/warn/error, а помилки будуть підсвічені та матимуть посилання на конкретний рядок і стовпець.
Крім того, у верхньому правому куті редактора ви можете безпосередньо викликати AI-співробітника «Фронтенд-інженер · Nathan», який допоможе вам написати або змінити скрипти на основі поточного контексту. Потім ви можете одним кліком «Apply to editor» (Застосувати до редактора) і запустити код, щоб побачити результат. Детальніше дивіться:
ctx.element (ElementProxy), який впливає лише на поточний блок і не заважає іншим областям сторінки.window/document/navigator використовують безпечні проксі-об'єкти, що дозволяє використовувати типові API, але обмежує ризиковані дії.class або атрибутом [name=...]; уникайте використання фіксованих id, щоб запобігти конфліктам стилів або подій через дублювання id у кількох блоках/спливаючих вікнах.