contextBridge
History
Version(s) | Changes |
---|---|
None |
|
Создает безопасный, двунаправленный, синхронный мост через изолированные контексты
Процесс: Графический
Пример предоставления API-интерфейса средству визуализации из изолированного сценария предварительной загрузки приведен ниже:
// Предварительная загрузка (Isolated World/Изолированный Мир)
const { contextBridge, ipcRenderer } = require('electron')
contextBridge.exposeInMainWorld(
'electron',
{
doThing: () => ipcRenderer.send('do-a-thing')
}
)
// Рендер (Main World/Основной Мир)
window.electron.doThing()
Глоссарий
Main World / Основной Мир
"Main World" - это контекст javascript, в котором запускается ваш основной код рендера. По умолчанию загружаемая вами страница выполняет код в этом контексте.
Isolated World / Изолированный Мир
Когда contextIsolation
включен в вашем webPreferences
(Это стандартное поведение в Electron 12.0.0) ваши preload
скрипты выполняются в "Isolated World". Вы можете прочитать больше о контекстной изоляции и на что это влияет в документации BrowserWindow.