乐闻世界logo
搜索文章和话题

如何在浏览器中打开来自 Electron 的链接

5 个月前提问
4 个月前修改
浏览次数68

1个答案

1

在 Electron 应用程序中,你可能希望在用户的默认浏览器中打开某些链接,而不是 Electron 的窗口中。为了做到这一点,你可以使用 Node.js 的 shell 模块,它是 electron 包的一部分。下面是一个简单的例子,展示了如何在用户的默认浏览器中打开一个链接:

javascript
const { shell } = require('electron'); // 打开外部链接 shell.openExternal('https://www.example.com');

在实践中,你可能想将这个功能绑定到一个点击事件上,例如当用户点击一个链接时。以下是一个可能的 HTML 和 JavaScript 示例,说明如何在 Electron 应用程序中实现这一点:

HTML:

html
<!-- 假设你有这样一个链接 --> <a href="https://www.example.com" id="external-link">Visit Example.com</a>

JavaScript:

javascript
const { shell } = require('electron'); document.getElementById('external-link').addEventListener('click', function(event) { event.preventDefault(); // 阻止默认行为,即不在 Electron 窗口中打开链接 const href = this.getAttribute('href'); shell.openExternal(href); // 使用默认浏览器打开链接 });

在这个例子中,我们首先导入了 shell 模块。然后,我们选择了一个带有特定 id 的 HTML 链接元素,并为其添加了一个点击事件监听器。当用户点击链接时,event.preventDefault() 调用阻止了默认的链接打开行为。最后,shell.openExternal(href) 使用用户的默认浏览器打开链接。

请确保在 Electron 中打开外部链接时正确处理用户输入,并且只打开可信的链接,以避免安全风险。

2024年6月29日 12:07 回复

你的答案