我正在使用CDNCore2.2,并希望从Asp.Net加载通用的js库,并在无法访问cdn的intranet情况下回退到本地资源。
回退本身是有效的,但是我有使用jquery的自定义脚本,并在cdn资源失败时失败,尽管jquery是从本地源加载的。以下是我使用的脚本标记:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8=">
</script>
<script src="~/js/myScript.js" asp-append-version="true"></script>我的脚本因ReferenceError: $ is not defined而失败。我认为这是因为故障恢复资源的加载晚于我的脚本,因为在提示符中键入$会生成function()。
附加信息:我还在js日志中收到错误,指出完整性散列不正确。这并不困扰我(目前),因为后备库可以工作。
此外,页面需要很长时间才能注意到cdn不可访问,并加载了本地回退(几乎2分钟)。为了阻止cdn,我在本地dns文件(windows中的hosts)中添加了一个临时条目。
我必须做什么才能使我自己的脚本与回退一起工作?
发布于 2019-07-09 12:07:39
据我所知,确实没有解决这个问题的办法。

关于完整性散列不正确,这可能是由于文件不是二进制相等的。如果需要,您可以通过将asp-suppress-fallback integrity设置为true来绕过完整性检查。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery"
crossorigin="anonymous"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
asp-suppress-fallback-integrity="true">
</script>https://stackoverflow.com/questions/56152685
复制相似问题