Search code examples
node.jschromiumelectron

Full text search in Electron BrowserWindow


Does the Electron application framework have built-in text search?

The quick-start application doesn't provide any apparent search functionality (e.g. using Ctrl-F or from the menu options). I would have expected this to be a BrowserWindow option (or an option of its WebContents), but I don't see anything helpful in the docs.


Solution

  • I know this is an old thread, but might still be relevant for people out there. Had the same problem, and first fixed by using electron-in-page-search, but this component doesn't work properly with Electron 2 or greater.

    Then finally found electron-find resolved my problem. Using with Electron 4.

    You just add the component to your project:

    npm install electron-find --save
    

    Add a global shortcut in your Electron main process to send an event to the renderer in a ctrl+f:

    globalShortcut.register('CommandOrControl+F', () => {
        window.webContents.send('on-find');
    });
    

    And then you can add this to your page (the renderer process)

    const remote = require('electron').remote;
    const FindInPage = require('electron-find').FindInPage;
    
    let findInPage = new FindInPage(remote.getCurrentWebContents());
    
    ipcRenderer.on('on-find', (e, args) => {
      findInPage.openFindWindow()
    })
    

    Hope that helps.