我在我的 web 应用程序中为 javascript 和 CSS 使用了许多 CDN 链接,例如:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/2.2.3/jquery.min.js"
integrity="sha384-I6F5OKECLVtK/BL+8iSLDEHowSAfUo76ZL9+kGAgTRdiByINKJaqTPH/QVNS1VDb"
crossorigin="anonymous"></script>
通常一切正常,但有时我会在 Firebug 控制台中收到此消息:
None of the "sha256" hashes in the integrity attribute match the content of the subresource.
如果发生这种情况,我的 javascript 将不会加载并且我的应用程序将被破坏。一个简单的刷新将解决这个问题。我不想摆脱 CDN 链接并自己托管文件,而是想解决这个问题。这是个常见的问题吗?
最佳答案
一个可能的解释是您的系统时间是否足够。我在 VirtualBox 实例中运行 Debian。我让主机休眠了几次而没有再次接触虚拟机。就在那时,我注意到虚拟机内的 Firefox 无法正确加载某些网页。到达这里后,我突然想到要检查系统时间。果然它关闭了将近2个小时。 ntp
没有安装,所以我安装了那个包:sudo aptitude install ntp
。我确认日期/时间已更新为 date
,然后再次测试 Firefox。有问题的网页(包括这个网页)有效。
关于javascript - CDN 完整性属性有时在 Firefox 中失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39410529/