【发布时间】:2019-10-02 19:05:01
【问题描述】:
我正在使用 Asp.Net Core 2.2,想从 cdn 加载常用的 js 库,并在无法访问 cdn 的内网情况下回退到本地资源。
回退本身有效,但我有使用 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 中的主机)中添加了一个临时条目。
我必须做些什么才能使我自己的脚本与后备一起工作?
【问题讨论】:
标签: javascript asp.net-core asp.net-core-2.2 fallback