docs: fix fiddles (#39060)
* refactor: replace Array.prototype.forEach.call with plain for-of * fix: add missing contextIsolation: false * fix: open links in default browser
This commit is contained in:
parent
a8622aed7b
commit
b14b876d50
36 changed files with 126 additions and 24 deletions
|
@ -12,6 +12,7 @@ function createWindow () {
|
||||||
height: 300,
|
height: 300,
|
||||||
title: 'Take a Screenshot',
|
title: 'Take a Screenshot',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -294,6 +294,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const { ipcRenderer } = require('electron')
|
const { ipcRenderer, shell } = require('electron')
|
||||||
|
|
||||||
// Tell main process to show the menu when demo button is clicked
|
// Tell main process to show the menu when demo button is clicked
|
||||||
const contextMenuBtn = document.getElementById('context-menu')
|
const contextMenuBtn = document.getElementById('context-menu')
|
||||||
|
@ -6,3 +6,15 @@ const contextMenuBtn = document.getElementById('context-menu')
|
||||||
contextMenuBtn.addEventListener('click', () => {
|
contextMenuBtn.addEventListener('click', () => {
|
||||||
ipcRenderer.send('show-context-menu')
|
ipcRenderer.send('show-context-menu')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -68,6 +68,10 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<script>
|
||||||
|
// You can also require other files to run in this process
|
||||||
|
require("./renderer.js");
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
13
docs/fiddles/menus/shortcuts/renderer.js
Normal file
13
docs/fiddles/menus/shortcuts/renderer.js
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -7,7 +7,7 @@ errorBtn.addEventListener('click', event => {
|
||||||
ipcRenderer.send('open-error-dialog')
|
ipcRenderer.send('open-error-dialog')
|
||||||
})
|
})
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -15,4 +15,4 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -14,7 +14,7 @@ ipcRenderer.on('information-dialog-selection', (event, index) => {
|
||||||
document.getElementById('info-selection').innerHTML = message
|
document.getElementById('info-selection').innerHTML = message
|
||||||
})
|
})
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -22,4 +22,4 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -11,7 +11,7 @@ ipcRenderer.on('selected-directory', (event, path) => {
|
||||||
document.getElementById('selected-file').innerHTML = `You selected: ${path}`
|
document.getElementById('selected-file').innerHTML = `You selected: ${path}`
|
||||||
})
|
})
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -19,4 +19,4 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -12,7 +12,7 @@ ipcRenderer.on('saved-file', (event, path) => {
|
||||||
document.getElementById('file-saved').innerHTML = `Path selected: ${path}`
|
document.getElementById('file-saved').innerHTML = `Path selected: ${path}`
|
||||||
})
|
})
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -20,4 +20,4 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
|
@ -10,6 +10,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -3,7 +3,7 @@ const shell = require('electron').shell
|
||||||
|
|
||||||
const links = document.querySelectorAll('a[href]')
|
const links = document.querySelectorAll('a[href]')
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -11,7 +11,7 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
||||||
const dragFileLink = document.getElementById('drag-file-link')
|
const dragFileLink = document.getElementById('drag-file-link')
|
||||||
|
|
||||||
|
|
|
@ -45,14 +45,15 @@
|
||||||
<pre><code>
|
<pre><code>
|
||||||
const { shell } = require('electron')
|
const { shell } = require('electron')
|
||||||
const links = document.querySelectorAll('a[href]')
|
const links = document.querySelectorAll('a[href]')
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
e.preventDefault()
|
e.preventDefault()
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}})
|
}
|
||||||
|
}
|
||||||
</code></pre>
|
</code></pre>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -8,6 +8,7 @@ function createWindow () {
|
||||||
height: 400,
|
height: 400,
|
||||||
title: 'Open External Links',
|
title: 'Open External Links',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -80,7 +80,7 @@ const shell = require('electron').shell
|
||||||
|
|
||||||
const links = document.querySelectorAll('a[href]')
|
const links = document.querySelectorAll('a[href]')
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -88,7 +88,7 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
</code>
|
</code>
|
||||||
</pre>
|
</pre>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -8,6 +8,7 @@ function createWindow () {
|
||||||
height: 400,
|
height: 400,
|
||||||
title: 'Open Path in File Manager',
|
title: 'Open Path in File Manager',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,3 +11,15 @@ fileManagerBtn.addEventListener('click', (event) => {
|
||||||
exLinksBtn.addEventListener('click', (event) => {
|
exLinksBtn.addEventListener('click', (event) => {
|
||||||
shell.openExternal('https://electronjs.org')
|
shell.openExternal('https://electronjs.org')
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ function createWindow () {
|
||||||
height: 300,
|
height: 300,
|
||||||
title: 'Basic Notification',
|
title: 'Basic Notification',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -8,6 +8,7 @@ function createWindow () {
|
||||||
height: 300,
|
height: 300,
|
||||||
title: 'Advanced Notification',
|
title: 'Advanced Notification',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
const { shell } = require('electron')
|
||||||
|
|
||||||
const basicNotification = {
|
const basicNotification = {
|
||||||
title: 'Basic Notification',
|
title: 'Basic Notification',
|
||||||
body: 'Short message part'
|
body: 'Short message part'
|
||||||
|
@ -27,3 +29,15 @@ basicNotificationButton.addEventListener('click', () => {
|
||||||
console.log('Notification clicked')
|
console.log('Notification clicked')
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -8,6 +8,7 @@ function createWindow () {
|
||||||
height: 400,
|
height: 400,
|
||||||
title: 'Get version information',
|
title: 'Get version information',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,3 +1,5 @@
|
||||||
|
const { shell } = require('electron')
|
||||||
|
|
||||||
const versionInfoBtn = document.getElementById('version-info')
|
const versionInfoBtn = document.getElementById('version-info')
|
||||||
|
|
||||||
const electronVersion = process.versions.electron
|
const electronVersion = process.versions.electron
|
||||||
|
@ -6,3 +8,15 @@ versionInfoBtn.addEventListener('click', () => {
|
||||||
const message = `This app is using Electron version: ${electronVersion}`
|
const message = `This app is using Electron version: ${electronVersion}`
|
||||||
document.getElementById('got-version-info').innerHTML = message
|
document.getElementById('got-version-info').innerHTML = message
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ function createWindow () {
|
||||||
height: 400,
|
height: 400,
|
||||||
title: 'Create a frameless window',
|
title: 'Create a frameless window',
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -12,6 +12,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
const { ipcRenderer } = require('electron')
|
const { ipcRenderer, shell } = require('electron')
|
||||||
|
|
||||||
const newWindowBtn = document.getElementById('frameless-window')
|
const newWindowBtn = document.getElementById('frameless-window')
|
||||||
|
|
||||||
|
@ -6,3 +6,15 @@ newWindowBtn.addEventListener('click', () => {
|
||||||
const url = 'data:text/html,<h2>Hello World!</h2><a id="close" href="javascript:window.close()">Close this Window</a>'
|
const url = 'data:text/html,<h2>Hello World!</h2><a id="close" href="javascript:window.close()">Close this Window</a>'
|
||||||
ipcRenderer.send('create-frameless-window', { url })
|
ipcRenderer.send('create-frameless-window', { url })
|
||||||
})
|
})
|
||||||
|
|
||||||
|
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)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -22,6 +22,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -14,7 +14,7 @@ manageWindowBtn.addEventListener('click', (event) => {
|
||||||
ipcRenderer.send('create-demo-window')
|
ipcRenderer.send('create-demo-window')
|
||||||
})
|
})
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -22,4 +22,4 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
|
@ -12,6 +12,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -7,6 +7,7 @@ function createWindow () {
|
||||||
width: 800,
|
width: 800,
|
||||||
height: 600,
|
height: 600,
|
||||||
webPreferences: {
|
webPreferences: {
|
||||||
|
contextIsolation: false,
|
||||||
nodeIntegration: true
|
nodeIntegration: true
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
|
@ -28,7 +28,7 @@ listenToWindowBtn.addEventListener('click', () => {
|
||||||
|
|
||||||
const links = document.querySelectorAll('a[href]')
|
const links = document.querySelectorAll('a[href]')
|
||||||
|
|
||||||
Array.prototype.forEach.call(links, (link) => {
|
for (const link of links) {
|
||||||
const url = link.getAttribute('href')
|
const url = link.getAttribute('href')
|
||||||
if (url.indexOf('http') === 0) {
|
if (url.indexOf('http') === 0) {
|
||||||
link.addEventListener('click', (e) => {
|
link.addEventListener('click', (e) => {
|
||||||
|
@ -36,4 +36,4 @@ Array.prototype.forEach.call(links, (link) => {
|
||||||
shell.openExternal(url)
|
shell.openExternal(url)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
})
|
}
|
||||||
|
|
Loading…
Reference in a new issue