diff --git a/docs/fiddles/system/system-app-user-information/app-information/main.js b/docs/fiddles/system/system-app-user-information/app-information/main.js index 97e612c4b2..bfbfcfac55 100644 --- a/docs/fiddles/system/system-app-user-information/app-information/main.js +++ b/docs/fiddles/system/system-app-user-information/app-information/main.js @@ -1,5 +1,34 @@ -const { app, ipcMain } = require('electron') +const { app, BrowserWindow, ipcMain, shell } = require('electron') -ipcMain.on('get-app-path', (event) => { - event.sender.send('got-app-path', app.getAppPath()) +let mainWindow = null + +ipcMain.handle('get-app-path', (event) => app.getAppPath()) + +function createWindow () { + const windowOptions = { + width: 600, + height: 400, + title: 'Get app information', + webPreferences: { + contextIsolation: false, + nodeIntegration: true + } + } + + mainWindow = new BrowserWindow(windowOptions) + mainWindow.loadFile('index.html') + + mainWindow.on('closed', () => { + mainWindow = null + }) + + // Open external links in the default browser + mainWindow.webContents.on('will-navigate', (event, url) => { + event.preventDefault() + shell.openExternal(url) + }) +} + +app.whenReady().then(() => { + createWindow() }) diff --git a/docs/fiddles/system/system-app-user-information/app-information/renderer.js b/docs/fiddles/system/system-app-user-information/app-information/renderer.js index d209e29021..e8a9b1b745 100644 --- a/docs/fiddles/system/system-app-user-information/app-information/renderer.js +++ b/docs/fiddles/system/system-app-user-information/app-information/renderer.js @@ -1,19 +1,9 @@ -const { ipcRenderer, shell } = require('electron') +const { ipcRenderer } = require('electron') const appInfoBtn = document.getElementById('app-info') -const electronDocLink = document.querySelectorAll('a[href]') -appInfoBtn.addEventListener('click', () => { - ipcRenderer.send('get-app-path') -}) - -ipcRenderer.on('got-app-path', (event, path) => { +appInfoBtn.addEventListener('click', async () => { + const path = await ipcRenderer.invoke('get-app-path') const message = `This app is located at: ${path}` document.getElementById('got-app-info').innerHTML = message }) - -electronDocLink.addEventListener('click', (e) => { - e.preventDefault() - const url = e.target.getAttribute('href') - shell.openExternal(url) -}) diff --git a/docs/fiddles/windows/manage-windows/new-window/index.html b/docs/fiddles/windows/manage-windows/new-window/index.html index 08fbcab03c..19e3c33e0b 100644 --- a/docs/fiddles/windows/manage-windows/new-window/index.html +++ b/docs/fiddles/windows/manage-windows/new-window/index.html @@ -8,7 +8,7 @@

Supports: Win, macOS, Linux | Process: Main

The BrowserWindow module gives you the ability to create new windows in your app.

-

There are a lot of options when creating a new window. A few are in this demo, but visit the documentation(opens in new window) +

There are a lot of options when creating a new window. A few are in this demo, but visit the documentation(opens in new window)

ProTip

Use an invisible browser window to run background tasks. diff --git a/docs/fiddles/windows/manage-windows/new-window/main.js b/docs/fiddles/windows/manage-windows/new-window/main.js index 7744cbd3e7..4e4a4e0ad5 100644 --- a/docs/fiddles/windows/manage-windows/new-window/main.js +++ b/docs/fiddles/windows/manage-windows/new-window/main.js @@ -1,5 +1,5 @@ // Modules to control application life and create native browser window -const { app, BrowserWindow, ipcMain } = require('electron') +const { app, BrowserWindow, ipcMain, shell } = require('electron') ipcMain.on('new-window', (event, { url, width, height }) => { const win = new BrowserWindow({ width, height }) @@ -19,6 +19,12 @@ function createWindow () { // and load the index.html of the app. mainWindow.loadFile('index.html') + + // 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 diff --git a/docs/fiddles/windows/manage-windows/new-window/renderer.js b/docs/fiddles/windows/manage-windows/new-window/renderer.js index 3ce7216148..0d80d2ee2c 100644 --- a/docs/fiddles/windows/manage-windows/new-window/renderer.js +++ b/docs/fiddles/windows/manage-windows/new-window/renderer.js @@ -1,14 +1,8 @@ -const { shell, ipcRenderer } = require('electron') +const { ipcRenderer } = require('electron') const newWindowBtn = document.getElementById('new-window') -const link = document.getElementById('browser-window-link') newWindowBtn.addEventListener('click', (event) => { const url = 'https://electronjs.org' ipcRenderer.send('new-window', { url, width: 400, height: 320 }) }) - -link.addEventListener('click', (e) => { - e.preventDefault() - shell.openExternal('https://www.electronjs.org/docs/latest/api/browser-window') -})