直接使用电子运行我的应用
refreshLogin()
一切正常,但是当使用电子打包器包装应用程序并运行它时,我收到错误
electron .
代码中的
Not allowed to load local resource
任何帮助??
答案 0 :(得分:0)
此请求中缺少很多详细信息。我总是使用path.resolve
来访问您的本地文件而不是您正在使用的插值。例如,如果您使用正常选项设置电子,我会执行以下操作:
var path = require('path');
var iconPath = path.resolve(__dirname, '../build/program.ico');
const appIcon = new Tray(iconPath);
mainWindow = new Window({
width: 1280,
height: 1024,
autoHideMenuBar: false,
useContentSize: true,
resizable: true,
icon: iconPath });
var indexPath = path.resolve(__dirname, '../build/index.html');
mainWindow.loadURL(indexPath);
那就是说,我的猜测是你的../build/index.html
路径实际上并不是你文件所在的位置。如果您不将发行版复制到您认为正在复制它的位置(或复制失败),则会发生此错误。
答案 1 :(得分:0)
尝试更改BrowserWindow'选项:
new BrowserWindow({
webPreferences: {
webSecurity: false
}
})
添加
webPreferences: {
webSecurity: false
}
它停止保护本地访问权限,您的文件可以访问 如果窗口的URL指向远程源,例如http:// ...,则浏览器将不允许加载本地资源,除非您设置上述选项。