制作一个 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);
}