electron v4 之后, 出于安全考虑, electron将不允许加载本地资源到render中, 要解决这个问题只需设置webSecurity:false, 并改写protocal即可.
electron版本为11.5.0
// main.js
function createWindow() {
const mainWindow = new BrowserWindow({
// ...
webPreferences: {
// ...
webSecurity: false
},
});
// ...
}
app.on("ready", () => {
protocol.interceptFileProtocol(
"file",
(req, callback) => {
const url = req.url.substr(8);
callback(decodeURI(url));
},
(error) => {
if (error) {
console.error("Failed to register protocol");
}
}
);
createWindow();
// ...
});