#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
затем показать окно сразу после этого.