Загруженное окно NWJS недоступно

В документации NWJS говорится, что после открытия окна вы должны дождитесь события loaded, прежде чем вы сможете взаимодействовать с ним:

Вы должны дождаться события loaded окна, прежде чем взаимодействовать с любым из его компонентов.

Поэтому я попытался добавить обработчик событий loaded для объекта win после его открытия.

nw.Window.open('test.html', {}, (win) => { 
    win.showDevTools()
    win.addEventListener("loaded", () => {
        console.log("NW Window loaded not working...")
    })
}

Я получаю следующую ошибку:

Uncaught TypeError: win.addEventListener не является функцией

Как я могу прослушивать события NWWindow в NWJS? Примечание: я МОГУ прослушивать события загрузки окна DOM, но это не то же самое, не так ли?

nw.Window.open('test.html', options, (win) => { 
    win.showDevTools()
    win.window.addEventListener("load", () => {
        console.log("dom window load IS working...")
    })
}

person Kokodoko    schedule 07.06.2019    source источник


Ответы (2)


Вот пример того, как использовать Event Listener в nw.Window:

nw.Window.open('test.html', {}, win => { 
    win.showDevTools();
    win.on("loaded", () => {
        console.log("NW Window loaded not working...")
    })
}

Пример из здесь, я изменил его так, чтобы он подходил к вашей проблеме

  • Изменить: я изменил nw.Window.get(), чтобы выиграть
person Kokosnuss    schedule 16.06.2019

addEventListener из DOM. Обратитесь к https://nodejs.org/api/events.html#events_emitter_addlistener_eventname_listener, а затем Попробуйте еще раз. Также console здесь может работать как win.window.console.

person Chawathe Vipul S    schedule 07.03.2020
comment
Ах, я никогда не замечал, что там написано addListener вместо addEventListener.... - person Kokodoko; 08.03.2020