Событие электронного окна веб-просмотра, возвращающее `about: blank` в качестве URL - PullRequest
0 голосов
/ 08 января 2019

У меня есть приложение на базе браузера Electron, которое использует тег Electron для отображения URL-адресов клиентов. У меня есть собственные настройки вкладок с использованием нескольких тегов веб-просмотра.

Как уже упоминалось в электронных документах, я использовал событие new-window для обработки запросов страниц, чтобы открыть URL-адреса в новой вкладке. Это может быть запрошено через window.open или по внешней ссылке, например <a target='_blank'>.

Мой код, который работал нормально в большинстве случаев, когда URL указан, а не добавлен динамически позже.

const webview = document.querySelector('webview')

webview.addEventListener('new-window', (e) => {
  const url = e.url;
  // used url to render new tabs.
})

В последнее время у меня есть URL-адрес входа клиента, который при загрузке имеет кнопку. У кнопки нет тега привязки и не указаны предварительно определенные URL-адреса. При открытии в Chrome нажатие кнопки приводит к открытию внешней ссылки в совершенно новом окне. Новое окно кратко показывает «about: blank» в строке URL, но затем перенаправляет на фактический URL.
Когда я попытался перехватить тот же внешний URL-адрес, используя событие new-window в моем электронном веб-просмотре, событие вернуло URL-адрес, равный about:blank, и я не смог получить доступ к перенаправленному URL-адресу. Кто-нибудь еще сталкивался с такой же проблемой?

1 Ответ

0 голосов
/ 10 мая 2019

У меня была та же проблема с BrowserWindow, и я решил с помощью флага nativeWindowOpen (экспериментальный в настоящее время)

Также доступно для webviews

https://electronjs.org/docs/all#using-chromes-windowopen-implementation

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...