react + electron 如何实现点击链接 用外部浏览器打开链接
时间: 2023-11-27 15:50:03 浏览: 171
在 React 中,可以通过使用 `<a>` 标签来渲染链接,然后通过设置 `target="_blank"` 属性来告诉浏览器在新窗口中打开链接。但是在 Electron 中,我们需要使用 Electron 的 API 来打开链接。
具体步骤如下:
1. 在 React 组件中,定义一个处理点击事件的函数:
```
handleLinkClick = (event) => {
event.preventDefault();
const { shell } = window.require('electron');
shell.openExternal(event.target.href);
}
```
2. 在 `<a>` 标签中,使用该函数作为点击事件的处理函数,并且设置 `href` 属性为要打开的链接:
```
<a href="https://example.com" onClick={this.handleLinkClick}>Click me</a>
```
3. 在 Electron 主进程中,需要在 `main.js` 文件中调用 `app.whenReady()` 方法来等待应用程序准备就绪,然后调用 `protocol.registerHttpProtocol()` 方法注册 HTTP 协议处理程序。这样,当用户点击链接时,Electron 将自动使用默认浏览器打开该链接。
```
const { app, protocol } = require('electron');
app.whenReady().then(() => {
protocol.registerHttpProtocol('http', (request, callback) => {
const { shell } = require('electron');
shell.openExternal(request.url);
callback();
});
});
```
以上就是实现在 React + Electron 中点击链接用外部浏览器打开链接的方法。
阅读全文