Электрон: Событие щелчка веб-уведомления Webview

#javascript #html #electron

Вопрос:

У меня есть электронное приложение, загружающее WhatsApp Web с веб-страницы в Windows 10. Всякий раз, когда приходят новые сообщения, появляется уведомление Windows, как обычно в WhatsApp Web (либо в браузере, либо в официальном настольном приложении). При нажатии на уведомление открывается сообщение, пришедшее из WhatsApp, но окно электронного браузера не сфокусировано. Поэтому, если что-то находится поверх моего электронного приложения и уведомление нажато, оно никогда не будет отображаться сверху/в фокусе.

Я пробовал делать

 // In renderer.js
if (webview.focus()) {
 ipcRenderer.send('webview-focused');
}
 

И

 // In main.js
ipcMain.on('webview-focused', () => {
mainWindow.focus();
}
 

Но, кажется, ничего не меняется.

Комментарии:

1. мигает ли значок WhatsApp внизу оранжевым, когда вы нажимаете на уведомление?

2. Нет, это не так, потому что веб-представление в electron получает фокус, но не продвигает мое приложение вперед. Он просто остается позади того, что находится на нем сверху.

3. вместо того, чтобы использовать mainWindow.focus(); , попробуйте использовать mainWindow.show(); и скажите мне, что произойдет

4. Ничего не меняется. То, что я также пытаюсь сделать, — это отправить IPC-сообщение из webview в main (а не из рендерера в main) в фокусе элемента. Я вижу, что фокус перемещается на главное окно, но оно не перемещает окно вперед. Попробовал mainWindow.focus() и mainWindow.show()

5. попробуйте скрыть окно, используя mainWindow.hide затем показать окно сразу после этого.