UNPKG

@lvce-editor/preload

Version:

Electron preload script used in Lvce Editor.

28 lines (21 loc) 712 B
const { ipcRenderer, contextBridge, webUtils } = require('electron') const channelName = 'port' const handleElectronMessage = (event, message) => { window.postMessage(message, location.origin) } const handleWindowMessage = (event) => { const { data, ports } = event ipcRenderer.once(channelName, handleElectronMessage) ipcRenderer.postMessage(channelName, data, ports) } const electronGlobals = { getPathForFile(file) { return webUtils.getPathForFile(file) }, } const main = () => { window.addEventListener('message', handleWindowMessage, { once: true }) contextBridge.exposeInMainWorld('isElectron', true) contextBridge.exposeInMainWorld('electronGlobals', electronGlobals) } main()