javascript - 如何制作 Electron 菜单在当前窗口进行通用搜索?

标签 javascript reactjs electron full-text-search

我正在寻找一种方法来创建带有标签“查找...”的 Electron 菜单并在当前浏览器窗口中执行常规搜索。我能够添加该选项,但我不知道如何访问浏览器以通过 ID 获取元素。我当前的代码:

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

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

现在我想在点击事件上做这样的事情:

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

基本上,这个ID属于我想要添加焦点的搜索输入字段。不幸的是,文档窗口未定义

最佳答案

Basically, this ID belongs to a search input field that I want to add focus to. Unfortunately, the document or window is undefined.

main 中,您可以轻松获取事件窗口 ( docs ):

let win = BrowserWindow.getFocusedWindow();

但我不知道如何直接访问窗口文档。 (似乎很奇怪,它无法访问)。我想你可以向窗口发送一条IPC消息——或者使用这个webContents方法:

contents.executeJavaScript(code[, userGesture])

从来不需要使用后者。可以工作;-)

关于javascript - 如何制作 Electron 菜单在当前窗口进行通用搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60469536/

相关文章:

javascript - 如何从 axios Promise 对象获取数据?

Javascript 函数无法将样式显示从无更改为阻止 img/图像源

node.js - Electron <webview> .getWebContents()。on ('login',..)仅被调用一次

javascript - 如何在 Electron App 中调用本地 .dll 文件

node.js - Electron 关闭按钮不起作用

当文档准备好时,Javascript 调用 $(document).on ('click'

javascript - 带有编码字符的 Angular cookie

html - Next.js background-image css 属性无法加载图像

javascript - 图像无法加载 react typescript

reactjs - Antd RadioGroup onChange 在设置单选值之前触发