Chromebook 上的 Chrome 无法从 CDN 加载样式
Posted
技术标签:
【中文标题】Chromebook 上的 Chrome 无法从 CDN 加载样式【英文标题】:Chrome on Chromebook Fails to Load Styles From CDN 【发布时间】:2017-06-23 23:24:40 【问题描述】:我有一个 html 页面,它引用了许多样式表。大多数样式表是网站的“本地”。但是,我有一个从 CDN 引用的样式表。这是 Font-Awesome css 文件。我的参考如下:
<link type="text/css" rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" />
我在我的应用程序的几个地方引用了这个 css 文件中的样式,一个示例参考是:
<span class="fa fa-pencil cursor-pointer margin-left-5" ng-click=\'openRoomEdit(dataItem)\'></span>
这些参考在 Chromebook 上除了的任何地方都可以正常工作。我已经在 Windows 上的 Edge、Firefox 和 Chrome 以及 Mac 上的 Safari 和 Chrome 上对其进行了测试。它适用于这些示例中的每一个。但是,在 Chromebook 上,它无法从该 CSS 中找到样式,因此图标不会呈现。
仅在 Chromebook 上,当它尝试从 CDN 加载 CSS 文件时,我在“网络”面板中收到 net::ERR_INSECURE_RESPONSE
。我正在使用 https 引用该文件,该文件来自一个以 https 身份运行且具有有效 SSL 证书的应用程序。
当我在应用程序本地安装 Font-Awesome 文件并以这种方式引用它时,一切正常。我希望能够通过 CDN 引用它,但由于我的许多客户都使用 Chromebook,我需要弄清楚为什么这不起作用。
【问题讨论】:
<link type="text/css" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/font-awesome/4.6.3/css/font-awesome.min.css" />
@FelipeValencia:这无济于事。它将使用https
,因为应用程序也使用它。
这可能是相关的:knowledge.rapidssl.com/support/ssl-certificate-support/…
【参考方案1】:
为确保问题不依赖于正在使用的特定 SSL BootstrapCDN,您应该尝试使用这个而不是第一步。
https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.css
cdnjs 和 BoostrapCDN 都使用SHA-256
,但 BootstrapCDN 使用的是 2016 年 10 月生成的 Symantec,这让我想起了 Chrome 53 中的 this bug,其中 Symantec 证书被自动拒绝。我不知道您是否可以控制您的客户端和您正在使用的 Chrome 版本,但如果它们不是最新的,这可能是一个领先优势。
你自己的网站使用什么样的证书?它值得信赖吗?不是,您可以使用LetsEncrypt 创建一个受大多数 CA 信任的 CA。过去存在关于自签名证书和 Chrome 的问题,您可以在票证 #516808 和 #516808 找到。
如果没有任何帮助,您可能需要do a NetLog dump,以便我们了解有关您的问题的更多信息。
【讨论】:
以上是关于Chromebook 上的 Chrome 无法从 CDN 加载样式的主要内容,如果未能解决你的问题,请参考以下文章
在 chromebook/chrome 操作系统上注册 Android 应用程序的协议处理程序以打开外部链接?
Chrome OS上的Android app公测项目将持续到今夏