📅  最后修改于: 2023-12-03 15:17:29.610000             🧑  作者: Mango
在 Magento 2 中,您可能会遇到一个错误,指出某些图像无法加载,错误消息会指出原因是 "拒绝加载图像 "blob:",因为它违反了以下内容安全性"。
出现此错误的原因是因为浏览器的安全策略。浏览器每次发送一个请求时,都会先向服务器请求内容安全策略(CSP)。CSP 是一组规则,用于告诉浏览器应该接受哪些来源的资源。
浏览器会检查请求中的来源和 CSP 中的规则是否匹配。如果请求的资源不在 CSP 中允许的来源列表中,浏览器会拒绝加载资源并显示上述错误消息。
要解决此错误,您需要更新 Magento 2 中的内容安全策略。更改 CSP 的最好方法是通过 Magento 的配置文件。
首先,您需要在 Magento 2 的根目录中创建一个新的配置文件。该文件应该是 csp_whitelist.xml
,在 app/code/Vendor/Module/etc
目录下创建。
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:module:Magento_Csp:etc/csp_whitelist.xsd">
<policies>
<policy id="default-src">
<values>
<value id="block-blob" type="string">'blob:'</value>
</values>
</policy>
</policies>
</config>
此外,您还需要清空 Magento 2 缓存,以启用新的 CSP。
重新加载页面,您应该能够成功加载所有的图像和其他资源。
这是一个常见的 Magento 2 错误,通常是由浏览器的 CSP 决定引起的。遵循上述步骤,您应该能够轻松地解决这个问题。