Событие для DOM изменений в электронных приложениях? - PullRequest
0 голосов
/ 14 января 2020

Я могу изменить стороннее электронное приложение (Discord), используя событие dom-ready, например:

mainWindow.webContents.on('dom-ready', () => {
  let code = fs.readFileSync("customSettings.js").toString();
  mainWindow.webContents.executeJavaScript(code);
});

Просмотр https://electronjs.org/docs/api/web-contents#instance-событий Я не могу найти событие, которое срабатывает при изменении DOM?

В качестве альтернативы я попытался использовать MutationObserver, но даже внедрил что-то как basi c, так как следующий код приводит к ошибке: Failed to execute 'removeChild' on 'Node' при перезагрузке страницы (при первой загрузке ошибки не выдаются).

let targetNode = document.querySelector('body');
let config = { attributes: true, childList: true, subtree: true, characterData: true };

const actionAfterMutation = () => {
console.log("do something");
}

let callback = function (mutationsList, observer) {
    for (var mutation of mutationsList) {
        try {
            actionAfterMutation();
        } catch (e) {
            console.log(e);
        }
    }
};

let observer = new MutationObserver(callback);
observer.observe(targetNode, config);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...