Есть ли событие, чтобы обнаружить завершение win.reload - PullRequest
0 голосов
/ 07 мая 2019

Я использую Electron JS для создания приложения. Я хочу перезагрузить свое приложение после переподключения. Необходимо показать окно загрузчика при перезагрузке и скрыть после завершения. Есть ли способ сделать это?

Я не хочу помещать загрузчик в свое приложение. Мне нравится показывать это в отдельном окне браузера .

Я ожидаю, как это

BrowserWindow.on('reload-complete', (e) => {
  hideLoadingWindow();
})

Ответы [ 2 ]

1 голос
/ 07 мая 2019

Вы можете использовать метод show, а затем использовать 'dom-ready', чтобы определить загрузку вашего приложения,

  let loading= new BrowserWindow({show: false, frame: false})

  loading.once('show', () => {
    main = new BrowserWindow({show: false})
    main.webContents.once('dom-ready', () => {
      console.log('main loaded')
      main.show()
      loading.hide()
      loading.close()
    })
    // load your app
    main.loadURL(url);
  })
0 голосов
/ 07 мая 2019

Наконец-то у меня появился другой способ преодолеть эту ситуацию. Я не уверен, что это хорошее решение. но это выглядит просто для меня.


    var mainWindow = new BrowserWindow({
      webPreferences: {
        nodeIntegration: false,
        preload: path.join(app.getAppPath(), 'preload.js')
      },
      minWidth: 1018,
      width: 640,
      minHeight: 1018,
      height: 640,
      title: 'Electron app',
      show: false
    });

    createLoadingWindow();

    mainWindow.once('ready-to-show', () => {      
      mainWindow.show();
    });

    mainWindow.webContents.on('did-start-loading', (e) => {
      createLoadingWindow();
    });

    mainWindow.webContents.on('did-stop-loading', (e) => {
      closeLoadingWindow();
    });

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...