|
@@ -1,68 +0,0 @@
|
|
|
-<!DOCTYPE html>
|
|
|
-<html>
|
|
|
- <head>
|
|
|
- <meta charset="UTF-8" />
|
|
|
- <title>Open external links</title>
|
|
|
- </head>
|
|
|
- <body>
|
|
|
- <div class="demo">
|
|
|
- <div class="demo-wrapper">
|
|
|
- <div class="demo-box">
|
|
|
- <div class="demo-controls">
|
|
|
- <button class="demo-button" id="open-ex-links">View Demo</button>
|
|
|
- </div>
|
|
|
- <p>
|
|
|
- If you do not want your app to open website links
|
|
|
- <em>within</em> the app, you can use the <code>shell</code> module
|
|
|
- to open them externally. When clicked, the links will open outside
|
|
|
- of your app and in the user's default web browser.
|
|
|
- </p>
|
|
|
- <p>
|
|
|
- When the demo button is clicked, the electron website will open in
|
|
|
- your browser.
|
|
|
- </p>
|
|
|
- <p></p>
|
|
|
- <h5>Renderer Process</h5>
|
|
|
- <pre><code>
|
|
|
- const { shell } = require('electron')
|
|
|
- const exLinksBtn = document.getElementById('open-ex-links')
|
|
|
- exLinksBtn.addEventListener('click', (event) => {
|
|
|
- shell.openExternal('https://electronjs.org')
|
|
|
- })
|
|
|
- </code></pre>
|
|
|
-
|
|
|
- <div class="demo-protip">
|
|
|
- <h2>ProTip</h2>
|
|
|
- <strong>Open all outbound links externally.</strong>
|
|
|
- <p>
|
|
|
- You may want to open all <code>http</code> and
|
|
|
- <code>https</code> links outside of your app. To do this, query
|
|
|
- the document and loop through each link and add a listener. This
|
|
|
- app uses the code below which is located in
|
|
|
- <code>assets/ex-links.js</code>.
|
|
|
- </p>
|
|
|
- <h5>Renderer Process</h5>
|
|
|
- <pre><code>
|
|
|
- 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)
|
|
|
- })
|
|
|
- }
|
|
|
- }
|
|
|
- </code></pre>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
- </div>
|
|
|
-
|
|
|
- <script>
|
|
|
- // You can also require other files to run in this process
|
|
|
- require("./renderer.js");
|
|
|
- </script>
|
|
|
- </body>
|
|
|
-</html>
|