gpt4 book ai didi

javascript - Electron 浏览器窗口中需要“onShow”事件

转载 作者:行者123 更新时间:2023-12-03 03:50:53 28 4
gpt4 key购买 nike

在 Electron 中,当显示浏览器窗口时,我想在浏览器窗口中触发 JavaScript 函数。

我目前的代码如下:

main.js(主进程)

myWin = new BrowserWindow({ width: 1200, height: 400, show: false })

.... some time later and under certain circumstances ;-) ....

myWin.show()

usbUpload.js(浏览器窗口)

function validateFlights() {
...blar...
}

this.addEventListener('onshow', () => {
validateFlights()
})

ValidateFlights() 是浏览器窗口中我想要在显示浏览器窗口时执行的函数。有什么想法吗?

最佳答案

您可以使用executeJavaScript直接从主进程调用渲染器进程中的javascript 。结合'show' BrowserWindow 事件,您可以执行以下操作:

myWin.on('show', () => {
myWin.webContents.executeJavaScript('validateFlights()')
})
<小时/>

示例:

main.js

const { app, BrowserWindow } = require('electron')
const path = require('path')

app.once('ready', () => {
let win = new BrowserWindow({show: false})
win.once('show', () => {
win.webContents.executeJavaScript('validateFlights()')
})
win.loadURL(path.resolve(__dirname, 'index.html'))
win.show()
})

index.html

<html>
<head>
<script type="text/javascript">
function validateFlights() {
console.log('validated')
}
</script>
</head>
<body></body>
</html>

关于javascript - Electron 浏览器窗口中需要“onShow”事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45166019/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com