2016-05-14 36 views
1

在Electron中,我有下面的脚本是我的main.js,它是恢复窗口并将其聚焦的快捷方式,但是我想将输入集中在窗口内。我如何实现这一目标?电子:我如何与浏览器窗口进行通信?

main.js

app.on('ready', function(){ 
    createWindow(); 
    var ret = globalShortcut.register('Command+Control+Alt+G', function() { 
    mainWindow.restore(); 
    mainWindow.focus(); 
    $('.js-search').focus(); 
    }); 
}) 

回答

4

你可以从你的主要过程将消息发送到使用webContents渲染过程中,在页面的焦点。

页面(渲染器进程)可以侦听该消息,然后聚焦该元素本身。

主要工艺

globalShortcut.register('Command+Control+Alt+G', function() { 

    win.restore(); 
    win.focus(); 
    win.webContents.send('focus-element', '.js-search'); 
}); 

渲染处理(页面)

<script> 
    const {ipcRenderer} = require('electron'); 

    ipcRenderer.on('focus-element', (event, selector) => { 
     document.querySelector(selector).focus(); 
    }); 
</script> 
+0

工作非常出色。谢谢马特。 – Rich

+0

真棒:)没问题。 –

相关问题