Объекты window внутри Electron A4
Что доступно в доверенном renderer настольного A4, зачем это нужно и почему внутренний preload не является публичным SDK.
| Объект | Назначение | Примеры методов |
|---|---|---|
| window.fastdocShell | Документ, команды редактора, состояние, сохранение, меню | getState(), getCurrentDocumentTruth(), openDocxPath(), onStateChanged() |
| window.a4Update | Обновления приложения | status(), check(), start(), dismiss(), reveal(), openNotes(), onState() |
| window.a4Help | Версия и поддержка | version(), reportProblem(), supportBundle(), checkUpdates(), reportBadge(), onReportBadge() |
| window.a4Vizor | Внутренние заметки Vizor | onNote() |
Примеры внутри доверенного renderer
Заголовок раздела «Примеры внутри доверенного renderer»const state = await window.fastdocShell.getState();const truth = await window.fastdocShell.getCurrentDocumentTruth();const version = await window.a4Help.version();
const stopState = window.fastdocShell.onStateChanged((next) => { console.log("document state", next);});
const stopUpdate = window.a4Update.onState((next) => { console.log("update state", next);});await window.a4Update.check();
// При размонтировании компонента обязательно отписаться.stopState();stopUpdate();Как выбрать правильный API
Заголовок раздела «Как выбрать правильный API»Вы пишете своё desktop-приложение или серверную обвязку → fastdoc-cli serve (JSONL).
Ваш shell написан на Web-технологиях и нужен асинхронный транспорт → serve –ws 0.
Нужен готовый редактор внутри вашего окна → surface + webview/iframe.
Вы модифицируете сам A4 renderer → trusted Electron preload, с согласованием внутреннего контракта.
СПРАВОЧНИК