Как отправить сообщение IPC от рендерера в веб-просмотр в рендерере? - PullRequest
0 голосов
/ 31 декабря 2018

Используя Electron's ipcRenderer, возможно ли отправить сообщение элементу <webview>?

Я пробовал:

var webview = document.getElementsByTagName("webview")[0];
webview.send("test", "testing");

и

ipcRenderer.send("test", "testing");

и пытался получить его в течение webview, используя:

ipcRenderer.on("test", function(e) {
// do something with (e)
})

и

window.addEventListener("test", function() {
// do something with (e)
})

Но ни один из этих методов не был получен webview.

Ответы [ 2 ]

0 голосов
/ 13 мая 2019

Пример отправки сообщений из основного процесса в процесс рендеринга:

ipcRenderer.on("test", (event, message) => {
  console.log(message)
})

У меня работает.

0 голосов
/ 31 декабря 2018

В соответствии с электронной веб-документацией то, что у вас там, похоже, должно работать в принципе.

Однако в верхней части документации веб-просмотра оно имеет это предупреждение которые могут вызывать некоторые проблемы в версии, с которой вы в настоящее время тестируете:

Предупреждение

Тег веб-просмотра Electron основан на веб-просмотре Chromium, который в настоящее время проходитдраматические архитектурные изменения.Это влияет на стабильность веб-просмотров, включая рендеринг, навигацию и маршрутизацию событий.В настоящее время мы рекомендуем не использовать тег webview и рассмотреть альтернативы, такие как iframe, Electron's BrowserView или архитектура, которая полностью исключает встроенный контент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...