【发布时间】:2016-03-09 01:24:53
【问题描述】:
我正在使用电子显示一些网页。以下是我的编码:
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
});
});
它将首先进入第一个网页,然后在使用 ipc 模块从 javascript 收到“重定向”命令后,它将重定向到第二个网页。但是我需要检查第二个网页是否可以连接。如果无法连接(did-fail-load),它会再次转到第一个网页。并且循环继续。
我使用 console.log("did-fail-load") 来检查它是否无法连接到第二页。但我发现它重复了通话。第一次连接第二个网页失败,出现一个console.log("did-fail-load"),第二次重试时出现两个console.log("did-fail-load") ,第三次重试时,出现三个console.log("did-fail-load")。是不是在 mainWindow 上出现了重复调用?
当电子失败时重试加载网页的最佳方法是什么?
【问题讨论】:
-
mainWindow.loadUrl('file://' + __dirname + '/index.html') 为我工作
标签: javascript html ipc webpage electron