2016-05-14 11 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

恐ろしい:)問題ありません。 –

関連する問題