Использование электронного ipcRenderer из внешнего файла javascript.Html

Программисты Html
Ответить
Anonymous
 Использование электронного ipcRenderer из внешнего файла javascript.

Сообщение Anonymous »

Я учусь использовать Electron, и, пытаясь обеспечить взаимодействие моего приложения с внешним интерфейсом, я осознаю, что мне нужно использовать ipcRenderer, чтобы получить ссылку на элементы DOM, а затем передать эту информацию в ipcMain.

Я пытался следовать большинству советов, предложенных здесь и здесь, но в обоих этих примерах используется require('electron').ipcMain, и всякий раз, когда я пытаюсь включить свой сценарий, который будет взаимодействовать с внешним интерфейсом, в мой HTML, ничего не происходит, поскольку Uncaught ReferenceError: require не определен. Я искал несколько часов, но мне не удалось найти решение - поэтому очевидно, что я делаю что-то не так.

Мой файл main.js очень прост, я просто создаю свое окно, а затем создаю прослушиватель ipc:

Код: Выделить всё

const { app, BrowserWindow } = require("electron");
const ipc = require('electron').ipcMain;

function createWindow() {
const window = new BrowserWindow({
transparent: true,
frame: false,
resizable: false,
center: true,
width: 410,
height: 550,
});
window.loadFile("index.html");
}

app.whenReady().then(createWindow);

ipc.on('invokeAction', (event, data) => {
var result = "test result!";
event.sender.send('actionReply', result);
})
В файле, с которым я хочу манипулировать DOM, я пытаюсь получить идентификатор элемента, а затем добавляю прослушиватель событий, как показано здесь:

Код: Выделить всё

const ipc = require('electron').ipcRenderer;
const helper = require("./api");

var authenticate_button = ipcRenderer.getElementById("authenticate-button");

var authButton = document.getElementById("authenticate-button");
authButton.addEventListener("click", () => {
ipc.once('actionReply', (event, response) => {
console.log("Hello world!");
})
ipc.send('invokeAction');
});

function onAuthenticateClick() {
helper.authenticateLogin(api_public, api_secret, access_public, access_secret);
}
и, наконец, мой HTML состоит только из кнопки, к которой я хочу прикрепить свой прослушиватель событий:

Код: Выделить всё





Project Test





Authenticate
Not Authenticated




Если бы кто-нибудь мог помочь мне указать правильное направление, как заставить работать эту базовую функциональность, это было бы очень полезно!

Подробнее здесь: https://stackoverflow.com/questions/624 ... cript-file
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»