Electron 加载图片/加载网络图片

关键是要修改HTML文档的 csp 策略

我初始化的默认策略是:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'">

这时候加载网络图片,控制台说受 csp 限制拒绝加载。

修改后可以正常加载:

<meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self'; style-src 'self' 'unsafe-inline'; img-src *">

尾部添加一个分号然后定义 img-srccsp 策略:

; img-src *
  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Electron 中可以使用预脚本来在渲染进程运行之前执行一些操作,例如某些模块或设置全局变量。预脚本的代码可以在主进程中执行,也可以在单独的 JS 文件中编写,然后在 `BrowserWindow` 中指定。 以下是一个使用预脚本的例子: 在主进程中: ```javascript const { app, BrowserWindow } = require('electron') const path = require('path') function createWindow () { const win = new BrowserWindow({ width: 800, height: 600, webPreferences: { preload: path.join(__dirname, 'preload.js') // 指定预脚本 } }) // 应用程序主页面 win.loadFile('index.html') } app.whenReady().then(() => { createWindow() app.on('activate', () => { if (BrowserWindow.getAllWindows().length === 0) { createWindow() } }) }) app.on('window-all-closed', () => { if (process.platform !== 'darwin') { app.quit() } }) ``` 在 `BrowserWindow` 的 `webPreferences` 中指定了预脚本的路径,它会在渲染进程运行之前并执行。在本例中,预脚本为 `preload.js`。 在 `preload.js` 文件中,可以编写一些代码来执行一些操作。例如,可以在其中 Node.js 模块或设置全局变量。以下是一个简单的例子: ```javascript const { remote } = require('electron') window.addEventListener('DOMContentLoaded', () => { const currentWindow = remote.getCurrentWindow() currentWindow.setTitle('My App') // 设置窗口标题 }) ``` 在本例中,我们使用 `remote` 模块获取当前窗口,并设置窗口标题为 "My App"。 需要注意的是,预脚本中的代码可以访问 Node.js 的 API,但不能访问渲染进程的 DOM。如果需要与渲染进程进行通信,可以使用 Electron 的 IPC 功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值