How do you get a browserView trigger?



  • I have a code:

    browserView.webContents.executeJavaScript('
      let btn = document.createElement("button")
      btn.innerHTML = "Click Me"
      btn.addEventListener("click", function () {
        return "Button is clicked"
      })
      document.body.appendChild(btn)
    ').then(r=> console.log(r))
    

    What do I have to do to get 'Button is clicked' in the main process?

    In browserView, no nodejs or electron, it's a str site.

    I want every click.



  • Everything is decided through preload for browserView

    const browserView = new BrowserView({
                webPreferences: {
                    preload: path.join(__dirname, 'preload.js') 
                }
            })
    

    preload.js

    const {ipcRenderer} = require('electron')
    

    window.addEventListener('DOMContentLoaded', () => {
    let btn = document.createElement("button")
    btn.innerHTML = "Click Me"
    btn.addEventListener("click", function () {
    ipcRenderer.send('message','button is clicked')
    })
    document.body.appendChild(btn)
    })

    And... it works! In main proccess, ipcMain.on received button is clicked



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2