制作一个 HTML Link 打开一个新电子 Window
Making an HTML Link Open a New Electron Window
我想让一个 Electron 应用程序有不同的 links,打开其他 windows,但我不确定具体如何去做。
从 Stack Overflow 上的其他问题来看,最常见(或唯一)的方法似乎是做类似
的事情
<a href="https://somewebsite.com" target="_blank">Open New Window</a>
但最初的 window 是由类似以下内容创建的:
function createWindow() {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
mainWindow.loadFile('index.html')
}
我们只创建初始 window 吗?或者我们可以为额外的 windows(来自 link 或其他东西)这样做吗?
最好在主 window 的 webPreference
中启用 nativeWindowOpen
以获得本机 Chrome window.
然后,单击 link 应该会自动在新的 window 中打开。您不需要手动创建自己的 window。
也就是说,您可能想要拦截 window 创建并更改有关 window 的各种属性,您可以通过 setWindowOpenHandler
您可以使用shell命令并打开外部window。这是代码,
<a href="https://somewebsite.com" target="_blank" onClick="open_link()">Open New Window</a>
open_link(event) {
shell.openExternal(event.target.href);
}
我想让一个 Electron 应用程序有不同的 links,打开其他 windows,但我不确定具体如何去做。
从 Stack Overflow 上的其他问题来看,最常见(或唯一)的方法似乎是做类似
的事情<a href="https://somewebsite.com" target="_blank">Open New Window</a>
但最初的 window 是由类似以下内容创建的:
function createWindow() {
const mainWindow = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
mainWindow.loadFile('index.html')
}
我们只创建初始 window 吗?或者我们可以为额外的 windows(来自 link 或其他东西)这样做吗?
最好在主 window 的 webPreference
中启用 nativeWindowOpen
以获得本机 Chrome window.
然后,单击 link 应该会自动在新的 window 中打开。您不需要手动创建自己的 window。
也就是说,您可能想要拦截 window 创建并更改有关 window 的各种属性,您可以通过 setWindowOpenHandler
您可以使用shell命令并打开外部window。这是代码,
<a href="https://somewebsite.com" target="_blank" onClick="open_link()">Open New Window</a>
open_link(event) {
shell.openExternal(event.target.href);
}