2015-07-15 2 views
0

Я использовал Electron (ранее Atom Shell) для создания настольного приложения с помощью NodeJS.Как обнаружить событие закрытия браузера в узле js?

Я использую следующий код, чтобы открыть URL в браузере

var spawn = require('child_process').spawn spawn('open', ['http://www.stackoverflow.com']);

Пожалуйста, обратите внимание, что я не использую Electron BrowserWindow, это регулярное окно браузера.

Я хочу выполнить действие, когда пользователь закрывает это окно браузера. Как определить событие закрытия этого порожденного браузера?

+0

Почему бы просто не использовать BrowserWindow Электрона и заблокировать его, то есть отключить узел интеграции? –

+0

Я создал библиотеку, которая будет использоваться Electron и расширение Visual Studio. Эта библиотека откроет этот браузер. –

ответ

0

Try, использующие event emitter

var spawn = require('child_process').spawn, 
    browser = spawn('open', ['http://www.stackoverflow.com']); 

browser.on('close', function() { 
    // Handle event 
}); 
+0

Да, попробовал это. Это событие «close» срабатывает, как только выполняется команда, даже до того, как браузер откроется. Не запускается, когда браузер закрыт. –

+0

Тогда «open» - это возможный стартапскрипт (bat, sh и т. Д.). Вы пытались заменить 'open' на путь к исполняемому файлу? – leko

+0

просто попытался, если я использую исполняемый путь (google chrome path) напрямую, он выдает ошибку с кодом EACCES. –