如何在电子上使用预加载脚本



我目前正在做以下工作:

//main.js
let window = new BrowserWindow (
title: 'app',
webPreferences: {
preload: './preload.js'
},
)
//preload.js 
window.teste = "hello"
//renderer.js
console.log(window.teste)

但我总是没有定义,就好像在预加载(requires等(中完成的所有事情都没有全局范围,或者无法以任何方式访问

预加载脚本和应用程序代码在自己的上下文中运行,因此可用于预加载脚本的window与渲染器上下文中的window不同。这是一个安全功能,更多详细信息可以从Electron文档中找到。

Electron的contextBridge可用于将预加载脚本中的对象暴露给渲染器上下文。这里有一个例子:

// preload.js
const { contextBridge } = require("electron");
contextBridge.exposeInMainWorld("teste", "hello");
//renderer.js
console.log(window.teste)
>>> "hello"

相关内容

  • 没有找到相关文章

最新更新