Esiste un modo (semplice/built-in) per aprire una nuova finestra browser (intendo browser predefinito OS) per un collegamento da Electron invece di visitare quel collegamento all'interno dell'app Electron?Crea un collegamento da Electron aperto nel browser
risposta
Si può semplicemente utilizzare:
require("shell").openExternal("http://www.google.com")
Per rendere tutti i link per aprire Electron esternamente nel browser predefinito del sistema operativo si dovrà aggiungere una proprietà onclick
a loro e modificare la proprietà href
in modo che non si carica qualsiasi cosa nell'app Electron.
si potrebbe usare qualcosa di simile:
aTags = document.getElementsByTagName("a");
for (var i = 0; i < aTags.length; i++) {
aTags[i].setAttribute("onclick","require('shell').openExternal('" + aTags[i].href + "')");
aTags[i].href = "#";
}
Ma assicurarsi l'intero documento è stato caricato prima fare questo altrimenti non è andare a lavorare. Un'implementazione più robusta sarebbe simile a questa:
if (document.readyState != "complete") {
document.addEventListener('DOMContentLoaded', function() {
prepareTags()
}, false);
} else {
prepareTags();
}
function prepareTags(){
aTags = document.getElementsByTagName("a");
for (var i = 0; i < aTags.length; i++) {
aTags[i].setAttribute("onclick","require('shell').openExternal('" + aTags[i].href + "')");
aTags[i].href = "#";
}
return false;
}
Ricordate che se si carica file esterni si dovrà farli passare attraverso questo processo così dopo sono a pieno carico.
C'è un modo molto migliore e più semplice di quello proposto da @Marcelo, ma più semplice da implementare per tutti i collegamenti contemporaneamente a ciò che @zianwar ha proposto.
const shell = require('electron').shell;
// assuming $ is jQuery
$(document).on('click', 'a[href^="http"]', function(event) {
event.preventDefault();
shell.openExternal(this.href);
});
Per eseguire un progetto Electron nel tuo browser attuale (Chrome, Mozilla, ecc), aggiungere questo al vostro script sono script esterno:
aTags = document.getElementsByTagName("a");
for (var i = 0; i < aTags.length; i++) {
aTags[i].setAttribute("onclick","require('shell').openExternal('" + aTags[i].href + "')");
aTags[i].href = "#";
}
- 1. Avvio dell'app Electron da un browser Web standard
- 2. Apri collegamento da Android Webview nel browser normale come popup
- 3. LinkLabel ... aperto nel browser Web predefinito?
- 4. CREF non crea collegamento nel Visualizzatore oggetti
- 5. webChromeClient apre il collegamento nel browser
- 6. Apre un collegamento nel browser con il pulsante java?
- 7. desidera aprire il collegamento nel browser esterno di WP7
- 8. Eclipse: collegamento per "progetto aperto"?
- 9. Crea un collegamento con .pdf aperto in una nuova finestra con jQuery?
- 10. izpack: crea un collegamento su Windows
- 11. Symfony2: Crea un collegamento alla disconnessione
- 12. Crea dinamicamente collegamento Javascript
- 13. PhoneGap - link aperto in del browser
- 14. Crea collegamento nel menu di avvio con innosetup
- 15. Electron: invia buffer da principale a renderer
- 16. Cordova 3.0 - Apri il collegamento nel browser esterno in iOS
- 17. javascript - sapere se è già stato aperto un collegamento
- 18. Come si crea un collegamento ipertestuale da una cella specifica a Word, senza macro/vba?
- 19. Crea collegamento sul desktop C#
- 20. Qual è l'esito dell'impostazione del nodo-integrazione su false quando si crea una nuova finestra del browser in Electron?
- 21. JavaFx 8: apre un collegamento in un browser senza riferimento all'applicazione
- 22. jQuery/Colorbox - crea un collegamento separato per aprire il colorbox?
- 23. Collegamento browser Visual Studio 2013 - Abilita CTRL per modificare nel browser
- 24. aperto (file) da qualsiasi posizione
- 25. Come ottenere l'albero DOM da BrowserWindow nell'app electron?
- 26. GWT.create() crea sempre un nuovo oggetto nella memoria del browser?
- 27. Come si crea un tag div in un collegamento
- 28. Differenza nel comportamento del browser quando si fa clic su un collegamento contro copia-incollandolo?
- 29. Come avviare un'applicazione da un browser?
- 30. 'console.log' non funziona in WebStorm nel test delle applicazioni Electron
migliore risposta qui: http: // StackOverflow. it/questions/32402327/how-can-i-force-link-esterni-from-browser-window-to-open-in-a-default-browser –