【问题标题】:Opening _blank links in Electron Browser在电子浏览器中打开 _blank 链接
【发布时间】:2020-10-23 18:13:50
【问题描述】:

我正在用 Electron 创建一个网络浏览器(请不要回答那是“毫无意义”、“不聪明”等)。当我的用户导航到具有_blank 属性的链接时,我希望打开一个新的 Electron Web Browser 窗口。或者,作为第二选择,在他们的默认网络浏览器(例如 Chrome、Edge、Opera 等)中打开 URL。

我查看了其他几个 StackOverflow 问题,但每次都是零运气。

【问题讨论】:

    标签: javascript node.js electron


    【解决方案1】:
       const { app, BrowserWindow, shell } = require("electron"); 
       ...
       mainWindow.webContents.on("new-window", (_, url) => {
            _.preventDefault();
            const protocol = require("url").parse(url).protocol;
            if (protocol === "http:" || protocol === "https:") {
                shell.openExternal(url);
            }
        });
    

    每当用户尝试在您的渲染器上打开 URL 时,此事件侦听器都会触发回调。此回调将在默认浏览器上打开您的目标 URL。

    关于您的其他方法,我建议不要打开新的电子浏览器实例来访问目标 URL。这将导致大量资源使用。

    【讨论】:

    • 我尝试将它们添加到我的渲染器和主文件中,但均无效。
    • 这应该是你的主要,它应该工作。 :(
    猜你喜欢
    • 2018-02-06
    • 2019-04-09
    • 2013-08-13
    • 1970-01-01
    • 2020-08-13
    • 2012-02-21
    • 2014-07-21
    • 2013-10-01
    • 1970-01-01
    相关资源
    最近更新 更多