若要在包含about:blank页面的iframe中执行preload脚本,则需要在主进程中使用webPreferences设置webSecurity参数为false,并在preload脚本中使用dom-ready事件来判断iframe是否已经加载完毕。以下是示例代码:
主进程:
win = new BrowserWindow({
width: 800,
height: 600,
webPreferences: {
nodeIntegration: false,
preload: path.join(__dirname, 'preload.js'),
webSecurity: false // 关闭webSecurity
}
});
preload.js:
document.addEventListener('DOMContentLoaded', function() {
if (window.parent !== window) {
// 判断是否在iframe中
window.parent.document.addEventListener('DOMContentLoaded', function() {
// 等待iframe加载完成后执行相关操作
console.log('about:blank iframe loaded');
});
}
});