Манипулировать DOM внешнего сайта в электронном - PullRequest
0 голосов
/ 21 марта 2020

Я очень плохо знаком с электроном. Я хотел бы загрузить URL, а затем запустить Javascript, который будет манипулировать DOM.

В настоящее время я очень просто создаю BrowserWindow, который загружает URL-адрес, и знаю, что могу использовать webContents.execute Javascript () для передачи строки Javascript, которая будет выполняться.

Однако я хочу запустить setInterval () и передать функцию, которая будет проверять и потенциально манипулировать DOM каждые x секунд. Весь код для этого в настоящее время находится в отдельном файле.

Как мне go об этом?

1 Ответ

0 голосов
/ 23 марта 2020

Вы можете просто добавить JavaScript файлы в HTML с помощью тега сценария , как на любом HTML сайте: <script type="text/javascript" src="file.js"></script>.

Если вы хотите отправить событие из основного процесса в качестве триггера, используйте webContents окна . Это отправит событие в ipcRenderer этого окна:

let mainWindow

const win = new BrowserWindow({
    width: 800,
    height: 600,
    webPreferences: {
      nodeIntegration: true
    }
  })

app.whenReady().then(createWindow)

data = true // set any data you need for the trigger

mainWindow.webContents.send('trigger', data)

Затем обработайте событие в сценарии, который вы добавили в файл HTML:

const { ipcRenderer } = require('electron')

ipcRenderer.on('trigger', (event, data) => {
  yourFunction(data)
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...