Получить размер BrowserView из веб-просмотра в Electron - PullRequest
0 голосов
/ 26 февраля 2019

Я пытаюсь добавить функциональность как здесь внутри веб-просмотра, который находится ниже других элементов.Из-за этого получаемые значения x и y относятся, конечно, только к самому веб-представлению, но метод inspectElement() должен принимать значения x и y всего окна, а не только веб-просмотра.Так что мне нужно иметь возможность получить высоту всего окна, чтобы я мог немного по математике сместить значения, которые я передаю в inspectElement().

Этот ответ , когда я звонюremote.getCurrentWindow() Я получаю эту ошибку

Uncaught TypeError: Cannot read property 'getSize' of null
    at click (<anonymous>:3950:147)
    at CallbacksRegistry.apply (<anonymous>:1090:25)
    at handleMessage (<anonymous>:898:21)
    at EventEmitter.ipcRenderer.on.args (<anonymous>:888:7)
    at EventEmitter.emit (<anonymous>:5163:17)
    at Object.ipcNative.onInternalMessage (<anonymous>:3010:15)

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

1 Ответ

0 голосов
/ 27 февраля 2019

После некоторого изучения и чтения документации я пришел к этому решению.

Вот функция, в которую вы передаете webContents в эту функцию и затем получаете доступ к BrowserWindow

function getBrowserWindowFromWebContents(
  contents: Electron.WebContents
): Electron.BrowserWindow {
  let topContents = contents
  while (topContents.hostWebContents) {
    topContents = topContents.hostWebContents
  }

  return remote.BrowserWindow.fromWebContents(topContents)
}

у нас есть доступ к getSize ()

getBrowserWindowFromWebContents(remote.getCurrentWebContents()).getSize()

И мы идем :)

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