Я использую электрон для отображения некоторых веб-страниц. Ниже мое кодирование:Повторная загрузка веб-страницы при сбое в электроне
var app = require('app');
var ipc = require('ipc');
var BrowserWindow = require('browser-window');
var settings = require('./settings');
var mainWindow = null;
app.on('window-all-closed', function() {
if (process.platform != 'darwin') {
app.quit();
}
});
app.on('ready', function(){
var mainWindow = new BrowserWindow({
fullscreen: true,
autoHideMenuBar: true
})
mainWindow.loadUrl('file://' + __dirname + '/index.html') // FIRST WEBPAGE
mainWindow.on('closed', function() {
mainWindow = null;
});
ipc.on('redirect', function(){
mainWindow.loadUrl('http://192.168.1.10/page2') // SECOND WEBPAGE
mainWindow.webContents.on("did-fail-load", function() {
console.log("did-fail-load");
mainWindow.loadUrl('file://' + __dirname + '/index.html');
// REDIRECT TO FIRST WEBPAGE AGAIN
});
});
Это первое войдет в первую веб-страницу, то после того, как он получил команду «перенаправление» с помощью JavaScript Ipc модуля, он будет перенаправлять на вторую страницу. Но мне нужно проверить, можно ли подключить вторую веб-страницу. Если он не может быть подключен (с ошибкой), он снова перейдет на первую веб-страницу. И циклы продолжаются.
Я использую console.log («did-fail-load»), чтобы проверить, не удалось ли подключиться ко второй странице. Но я узнал, что он дублировал звонок. В первый раз, когда он не подключается к второй веб-странице, есть один console.log («did-fail-load»), когда он повторяет второй раз, появляется два console.log («did-fail-load») , и в третий раз, когда он повторит попытку, появляется три console.log («did-fail-load»). Это то, что некоторые из них получили дублированные вызовы на mainWindow?
Каков наилучший способ повторить загрузку веб-страницы, когда она не сработала в электроне?