Ich muss auf Renderer-Skripte vom Elektronen-Hauptmenü aus über onclick zugreifen. Ich habe folgendes auf das Elektron Hauptmenü hinzugefügt:Zugriff auf Renderer-Skripte aus dem Elektronen-Hauptmenü
{
label: 'Checking for Update',
click: function() {
require('./update')
}
}
.........................
{
label: `Preferences...`,
click: function() {
require('./preferences')
}
}
Ich versuche preferences.js
oder update.js
oben zu nennen. Beide Skripte funktionieren einwandfrei, wenn Sie direkt von index.html
oder vom App-Fenster über onclick, aber nicht aus dem App-Menü anrufen. Wenn in Hauptanwendungsmenü geklickt seine erroring nur mit
Uncaught Exception:
TypeError: Cannot read property 'app' of undefined
at IncomingMessage.res.on (update.js:20:36)
at emitOne (events.js:96:13)
at IncomingMessage.emit (events.js:188:7)
at IncomingMessage.Readable.read (_stream_readable.js:381:10)
at flow (_stream_readable.js:761:34)
at resume_ (_stream_readable.js:743:3)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
update.js: 20 sieht wie folgt aus:
const appname = electron.remote.app.getName()
Es gibt keine Fernbedienung im Hauptmenü Prozess. Remote-Modul gehört nur zum Renderer, so scheint dies ein angemessener Fehler für mich zu sein.
Aber ich bin nicht ganz sicher, wie man das leicht beheben kann und Skripts funktionieren, sobald sie aus dem App-Menü aufgerufen werden.
Ja, ich etwas Ähnliches umgesetzt. Ich werde meine Prüflogik durch "process.type" ersetzen, da es viel sauberer ist. Vielen Dank! Als akzeptiert markiert. –
'const {app, dialog} = erfordern ('electron'). Remote || require ('electron') 'würde dann auch funktionieren. – RoyalBingBong
kurz und gut! –