html - 拒绝加载样式表(元标记不起作用)
问题描述
在我网站的已部署版本上,我看不到使用这样的样式表获得的任何图标(来自材料设计图标)
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.css">
我得到错误
Refused to load the stylesheet 'https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.css' because it violates the following Content Security Policy directive: "style-src 'self' https://fonts.googleapis.com/ 'unsafe-inline'". Note that 'style-src-elem' was not explicitly set, so 'style-src' is used as a fallback.
我曾尝试使用元标记,但失败了
<meta http-equiv="Content-Security-Policy" content="style-src 'self' https://fonts.googleapis.com/ 'unsafe-inline';">
如果有人知道如何解决这个错误,我将永远感激不尽
解决方案
看起来您的 CSP 不包含https://cdn.jsdelivr.net
在该style-src
部分中。您更新后的 CSP 可能如下所示:
<meta http-equiv="Content-Security-Policy" content="style-src 'self' https://fonts.googleapis.com https://cdn.jsdelivr.net 'unsafe-inline';">
附带说明:'unsafe-inline'
顾名思义,应该仅在您知道自己在做什么时才使用该值。可以说内联 JS 比内联 CSS“更危险”,但仍然 - 如果您不需要这个值,那么只需将其删除。请参阅CSP style-src: 'unsafe-inline' - 值得吗?当然,如果您使用的是 Angular 之类的框架,则可能需要启用此功能。但是,恕我直言,重要的是要牢记各个标签的含义/含义。
推荐阅读
- google-sheets-formula - 使用公式删除谷歌表中的空白行
- java - 什么是用于 SAML 1.x 浏览器配置文件支持的 BrowserProfileProvider 和 SAMLBrowserProfile(opensaml1) 的 Opensaml V4 替代品
- python - 打开不同文件夹中的文本文件并写入 csv 单元格
- python - lldb python 等效于 gdb.GdbError()
- git - git ls-files --modified 也列出已删除的文件
- powerbi - 如何将 Power Query 超时时间增加到 5 分钟以上?
- sql - postgresql 错误:无法从函数或多命令字符串执行 VACUUM
- python - 您可以通过 Instagram API 获取一般用户帐户活动吗?
- mongodb - MessageListenerContainer 的 Spring 数据 mongo 恢复令牌
- amazon-web-services - 通过 CloudFront 在文件夹结构中直观地显示/呈现 S3 数据