如何通过 React 在 Electron Webview 中使用预加载脚本
·
preload 属性需要使用 file: 协议。
由于 electron 和 webpack 的工作方式,在 DOM 中使用 Renderer 进程中的 preload 属性是一场噩梦。
诀窍是从主进程开始。
在 src/main/main.ts 中:
app.on('web-contents-created', (_event, contents) => {
contents.on('will-attach-webview', (_wawevent, webPreferences, _params) => {
webPreferences.preloadURL = `file://${__dirname}/webview-preload.js`;
});
});
进入全屏模式 退出全屏模式
在 src/main/webview-preload.js 中:
document.addEventListener(
'DOMContentLoaded',
() => {
// YOUR CODE HERE
},
false
);
进入全屏模式 退出全屏模式
如果本文对您有所帮助,请查看我们使用 Electron、React、TypeScript 和 Redux 构建的浏览器:https://github.com/danielfebrero/bonb-browser
更多推荐
所有评论(0)