Как сделать электронное меню для общего поиска в текущем окне? - PullRequest
0 голосов
/ 29 февраля 2020

Я ищу способ создать электронное меню с меткой Найти ... и выполнить общий поиск в текущем окне браузера. Мне удалось добавить эту опцию, но я не знаю, как получить доступ к браузеру, чтобы получить элемент по идентификатору. Мой текущий код:

const template = [  
  {
    label: 'Find..',
    click() {
      document.querySelector('#filter').focus()
      return console.log("Click working!")
    },
  },
]

const menu = Menu.buildFromTemplate(template)
return Menu.setApplicationMenu(menu)

Теперь я хотел бы сделать что-то подобное для события click:

document.querySelector('#filter').focus()

По сути, это ID относится к полю поиска input что я хочу добавить фокус. К сожалению, document или window - это undefined.

1 Ответ

1 голос
/ 01 марта 2020

По сути, этот идентификатор относится к полю ввода поиска, к которому я хочу добавить фокус. К сожалению, документ или окно не определены.

Из main вы можете легко получить активное окно ( docs ):

let win = BrowserWindow.getFocusedWindow();

Но я не знаю, как получить доступ к документу окна напрямую. (Кажется странным, что это не доступно). Я полагаю, вы можете отправить IPC сообщение в окно - или использовать этот webContents метод:

contents.executeJavaScript(code[, userGesture])

Нет необходимости использовать последнее. Может работать; -)

...