网络重新连接后,我需要重新加载网站/应用程序。因此,我在重新连接后使用了win.reload,但重新加载后却显示了空白的黑屏
我试图重新创建窗口,但是它给了我相同的输出。我报告了另一个问题here。
重新加载后我发现window.location.href
设置为“ chrome-error:// chromewebdata /”
此示例代码来自main.js
let mainWindow = null;
let offlineWindow = null;
let loadingwindow = null;
let mainWindowWidth = 1100;
let mainWindowHeight = 650;
var nativeApp = {
appUrl: "https://google.com",
connected: false
}
function createWindow () {
// Create the browser window.
mainWindow = new BrowserWindow({
webPreferences: {
nodeIntegration: false,
preload: path.join(app.getAppPath(), 'preload.js')
},
minWidth: mainWindowWidth,
width: mainWindowWidth,
minHeight: mainWindowHeight,
height: mainWindowHeight,
show: false
});
createLoadingWindow();
mainWindow.once('ready-to-show', () => {
closeLoadingWindow();
mainWindow.show();
});
mainWindow.setMenu(null);
mainWindow.loadURL(nativeApp.appUrl);
mainWindow.webContents.openDevTools();
}
function createLoadingWindow(){
// codes to create the loading window
// .....
}
function createOfflineWindow(){
// codes to create the offline window
//....
}
function checkAndConnect() {
checkInternet(function (connected) {
if (!connected) {
if (!offlineWindow) { createOfflineWindow(); }
} else {
if (offlineWindow) {
offlineWindow.close();
mainWindow.reload();
}
}
nativeApp.connected = connected;
});
}
function checkInternet(callback) {
if(navigator.onLine){
return callback(true);
}
return callback(false);
}
重新连接后,我需要重新加载网站/应用程序。我的代码有什么问题吗?还是电子的虫子?
这是一个旧线程,但是如果有人遇到相同的问题,您可以通过在主js文件中添加以下内容来修复它:
function createMainWindow () {
mainWindow = new BrowserWindow({
width: 1280,
height: 720,
...
})
if (process.env.WEBPACK_DEV_SERVER_URL) {
if (!process.env.IS_TEST) {
mainWindow.webContents.openDevTools()
}
}
else {
createProtocol('app')
mainWindow.loadURL('app://./index.html')
// Create a "fail-load" listener
if (process.env.NODE_ENV === 'production') {
mainWindow.webContents.on('did-fail-load', () => {
// Load the index URL the same way you load it above
mainWindow.loadURL('app://./index.html')
})
}
}
...