javascript - Electron:仅在特定 iframe 中允许内联样式
问题描述
是否可以仅在 Electron 的特定 iframe 中允许内联样式?
我的问题:
我正在尝试在 Electron 应用程序中加载 Whatfix 脚本。Whatfix 脚本会加载所有内容,iframe
并且它使用内联样式,由于 Electron CSP,它会在没有任何样式的情况下呈现小部件。我不想unsafe-inline
在整个应用程序上使用 CSP,我只需要它iframe
来自 Whatfix。
我得到的错误:Refused to apply inline style because it violates the following Content Security Policy directive: "default-src 'self'"
我的 CSP 指令:default-src 'self';
解决方案
具有类似网络方案的 iframe<iframe src='http:/https: ...'>
创建一个隔离的浏览上下文。
这意味着父文档 CSP 不在 iframe 内部起作用,而 iframe 可以有自己独立的 CSP。如果您可以控制 iframe,则可以在 iframe 内发布任何特定的 CSP 标头或元标记。如果没有 CSP,任何内联样式都将被允许在此类 iframe 中使用。
请注意,带有srcdoc=的 iframe和带有data:Url
// like的 iframe会继承父文档的 CSP,因为这样的 iframe 不会创建完全隔离的浏览上下文。blob:Url
javascript:Url
<iframe src='data:text/html;charset=utf-8,...'>
推荐阅读
- python - 通过Python中嵌套字典中的值和键从字典中获取键
- r - 查找 data.frame 中所有具有非前导 NA 值的列
- html - 在 github 的自述文件中对齐文本
- java - 使用 OpenJDK 8 时出现“不可协商的密码套件”,但使用 Oracle Java 8 时则不然
- javascript - 是否有一种更有效的方法可以从列表 a 中删除列表 b 中存在的所有值?
- python - 如何使用键盘输入打开程序?
- arrays - 双指针数组分配 C
- windows - Talend 数据集成
- javascript - Webpack 只导入相互的 JS 文件一次
- sql-server - SQL Server 2019 Ubuntu 20.04 - 现有连接被远程主机强行关闭