有两种方式可以实现。一种是在HT
ML
中使用<script>标签引入本地JS文件,然后在BrowserWindow中加载这个HT
ML
文件。另一种是使用Node.js的fs模块,读取本地JS文件的内容,并使用BrowserWindow的webContents对象的executeJavaS
cr
i
pt
方法将JS代码注入到页面中。具体代码可以参考以下示例:
<!-- index.html -->
<!DOCTYPE html>
<meta charset="UTF-8">
<title>Electron BrowserWindow加载本地JS文件</title>
</head>
<script src="./main.js"></script>
</body>
</html>
// main.js
const { app, BrowserWindow } = require('electron')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
win.loadFile('index.html')
app.on('ready', createWindow)
const { app, BrowserWindow } = require('electron')
const fs = require('fs')
function createWindow () {
const win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: true
// 读取本地JS文件内容
const jsContent = fs.readFileSync('./main.js', 'utf-8')
// 使用executeJavaScript方法注入JS代码
win.webContents.executeJavaScript(jsContent)
win.loadURL('about:blank') // 加载一个空白页面
app.on('ready', createWindow)