Options not working on new browser window in electron

Viewed 22

I'm pretty new to Electron... whenever a new window is opened, I want a new window to be created by Electron. This works fine and occurs at "app.on('new-window',...". Although the newBrowser window is created, none of the option seem to be considered. The new browser window isn't 64 tall and the other options also don't work. Anyone have any suggestions?

/* main.js v1 */
const { app, BrowserWindow } = require('electron')
const { webContents } = require('electron')
const path = require('path')
const url = require('url')

let win

function createWindow () {
  win = new BrowserWindow({ width: 800, height: 600 })

  win.loadURL(url.format({
    pathname: 'localhost:3500/session',
    protocol: 'http:',
    slashes: true
  }))

  win.on('web-contents-created', (event, contents) => {
    contents.on('will-navigate', (event, navigationUrl) => {
      const allWindows = BrowserWindow.getAllWindows()
      for (let i = 0; i < allWindows.length; i++) {
        const win = allWindows[i]
        if (win.webContents.getURL() === navigationUrl) {
          win.close()
          return
        }
      }
    })
  })

  win.on('closed', () => {
    win = null
  })
}

app.on('ready', createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (win === null) {
    createWindow()
  }
})

app.on('web-contents-created', (event, contents) => {
  contents.on('will-navigate', (event, navigationUrl) => {
    const allWindows = BrowserWindow.getAllWindows()
    for (let i = 0; i < allWindows.length; i++) {
      const win = allWindows[i]
      if (win.webContents.getURL() === navigationUrl) {
        win.close()
        return
      }
    }
  })
})

app.on('new-window', (event, url, frameName, disposition, options, additionalFeatures) => {
  if (frameName === 'modal') {
    // open window as modal
    event.preventDefault()
    Object.assign(options, {
      modal: true,
      parent: win,
      height: 250,
    })
    event.newGuest = new BrowserWindow(options)
  }
})
0 Answers
Related