docs: handle opening links in the default browser in main.js (#39379)

docs: handle opening links in the default browser in the main process
This commit is contained in:
Milan Burda 2023-08-08 12:35:59 +02:00 committed by GitHub
parent eecfaec8c9
commit 24c9cbcc0a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
28 changed files with 99 additions and 183 deletions

View file

@ -68,10 +68,6 @@
</div>
</div>
</div>
<script>
// You can also require other files to run in this process
require("./renderer.js");
</script>
</body>
</html>

View file

@ -1,5 +1,5 @@
// Modules to control application life and create native browser window
const { app, BrowserWindow, globalShortcut, dialog } = require('electron')
const { app, BrowserWindow, globalShortcut, dialog, shell } = require('electron')
// Keep a global reference of the window object, if you don't, the window will
// be closed automatically when the JavaScript object is garbage collected.
@ -38,6 +38,12 @@ function createWindow () {
// when you should delete the corresponding element.
mainWindow = null
})
// Open external links in the default browser
mainWindow.webContents.on('will-navigate', (event, url) => {
event.preventDefault()
shell.openExternal(url)
})
}
// This method will be called when Electron has finished

View file

@ -1,13 +0,0 @@
const { shell } = require('electron')
const links = document.querySelectorAll('a[href]')
for (const link of links) {
const url = link.getAttribute('href')
if (url.indexOf('http') === 0) {
link.addEventListener('click', (e) => {
e.preventDefault()
shell.openExternal(url)
})
}
}