在HTMLMVC5中,可以使用BundleColletion.UseCdn并使用ASP.NET完整性属性进行呈现吗?例如,有没有办法做到这一点:
bundles.UseCdn = true;
bundles.Add(
new ScriptBundle("~/bundles/jquery", "https://code.jquery.com/jquery-3.1.1.min.js")
.Include("~/Scripts/js/jquery/jquery-3.1.1.min.js")
);像这样渲染吗?
<script
src="https://code.jquery.com/jquery-3.1.1.min.js"
integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8="
crossorigin="anonymous"></script>发布于 2017-06-19 03:39:53
部分答案。
要添加匿名“crossorigin=”属性,可以使用@Scripts.RenderFormat
@Scripts.RenderFormat("<script type=\"text/javascript\" src=\"{0}\" crossorigin=\"anonymous\"></script>", "~/bundles/jquery")您也可以在RenderFormat中包含integrity="sha256-hVVnYaiADRTO2PzUGmuLJr8BLUSjGIZsDYGmIJLv2b8=“部件,但这看起来不是一个好的解决方案。
发布于 2020-01-31 03:55:15
当CDN失败时,我在我们的ASP.NET MVC 5项目中尝试了这种方法。
@Scripts.RenderFormat("<script src='{0}' integrity='sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa' crossorigin='anonymous'></script>", "~/bundles/bootstrapJS")这将生成(开发人员工具内部),
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>从this答案中我们发现,如果脚本无法从CDN加载,则存在错误
因此,我们在标记中手动添加脚本。
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>(window.jQuery) || document.write('<script src="/Scripts/jquery-1.12.4.min.js"><\/script>');</script>
</head>
<body></body>
</html>发布于 2021-05-02 20:56:30
你可以像这样
<script src='@Scripts.Url("~/bundles/jquery")' crossorigin="anonymous" integrity="value"> </script>https://stackoverflow.com/questions/42306540
复制相似问题