2016-06-27 12 views
0

Ich mache eine Elektronen-App und möchte eine Schaltfläche in meiner index.html Datei erstellen, um den Standard-Internetbrowser (zB Chrome) auf meiner GitHub-Repository-Website zu öffnen. Ich habe andere StackOverflow-Fragen dazu mit erfolgreichen Antworten gesehen, aber sie enthalten JavaScript-Schnipsel und ich weiß nicht, wo ich sie hinstellen soll.Externe Links in Electron mit dem HTML-Anchor-Tag öffnen

Antwort

0

Verwenden Sie die shell module:

Fügen Sie den folgenden Code zu y unsere main.js:

An seinem Anfang:

const {ipcMain} = require('electron'); 
const {shell} = require('electron'); 

Nach der app.on Funktion:

ipcMain.on('loadGH', (event, arg) => { 
    shell.openExternal(arg); 
}); 

Im Kopf Ihrer index.html müssen Sie dann den ICP-Modul instanziiert :

<script> 
const ipc = require('electron').ipcRenderer; 
</script> 

das Onclick-Ereignis das Laden des neuen Fensters auszuführen verwenden Sie dann tatsächlich:

<a HREF="#" onclick="ipc.send('loadGH','http://github.com/yourGitHubName');">Link</a> 
+1

Danke! Es funktioniert jetzt. Ich habe vergessen, das in meiner Frage hinzuzufügen :) – andersamer

0

Diese Antwort bezieht sich auf eine frühere, ambivalente Version der Frage und weist dann auf die Notwendigkeit hin, ein neues Elektronenfenster zu öffnen.

Wenn Sie "externe Verbindung" sagen, nehme ich an, dass Sie ein anderes Fenster öffnen möchten, das Ihr github Repo enthält.

An seinem Anfang:

const ipcMain = require('electron').ipcMain; 

Innerhalb der app.on Funktion:

var externalWindow = new BrowserWindow ({ 
    width: 800, 
    height: 600 
}) 

Dies kann durch Hinzufügen des folgenden Code in Ihre main.js erfolgen

Nach der app.on Funktion:

ipcMain.on('loadGH', (event, arg) => { 
    externalWindow.loadURL(arg); 
}); 

Im Kopf Ihrer index.html müssen Sie dann den ICP-Modul instanziiert:

<script> 
const ipc = require('electron').ipcRenderer; 
</script> 

dann das Onclick-Ereignis in einem href verwenden, um tatsächlich das Laden des neuen Fensters auszuführen:

<a HREF="#" onclick="ipc.send('loadGH','http://github.com/yourGitHubName');">Link</a> 
+0

Gern geschehen, froh, wenn es hilft. –

+0

Welche 'app.on'-Funktion sollten die ersten und zweiten Snippets enthalten? Ich habe zwei "app.on" -Funktionen und die erste prüft, ob die Anwendung, wenn die 'process.platform' nicht gleich'darwin' ist. In den Kommentaren von GitHub heißt es, dass es etwas mit OS X zu tun hat. Ich bin mir nicht sicher, ob Sie diese zusätzlichen Funktionen haben oder nicht - unsere 'main.js'-Dateien können sich unterscheiden. Der eine, den ich gerade erwähnt habe, ist auch so deklariert ... 'app.on ('window-all-closed', function() {' – andersamer

+0

Das ist gut, du musst nach app.on suchen ('ready', Funktion {...}), das ist derjenige, der beim Start der App aufgerufen wird. –

Verwandte Themen