我正在寻找一种方法来创建带有标签“查找...”的 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/