脚本注册商甚至在
之后加载jquery.validation.min.jsHtml.Telerik().ScriptRegistrar().jQuery(false)
有没有办法告诉它不要这样做?
即使我尝试正好加载我需要的东西,也可以这样做:
@Html.Telerik().ScriptRegistrar().jQuery(false).DefaultGroup(g =>
{
g.Add("telerik.common.min.js");
g.Add("telerik.tabstrip.min.js");
}
例如,如果我在页面上有一个telerik网格,它将加载所有必要的脚本,包括grid.min,grid.editing和jquery.validate.min。
我更喜欢自己控制它,而不是仅仅为了得到错误,或者如果我忘了定义正确的脚本而无法运行的元素。
如果我尝试使用此代码段:
@Html.Telerik().ScriptRegistrar().jQuery(false).Scripts(s =>
{
s.Add("telerik.common.min.js");
...
它会忽略web.config中的useTelerikContentDeliveryNetwork="true"
,并在本地服务器上搜索脚本。我仍然想使用CDN。
UPD:实际上是否有办法使用telerik的CDN来源,但如果由于某种原因它们已关闭,请从项目的服务器加载所有内容?
答案 0 :(得分:10)
作为对来自搜索引擎的人的这个答案的进一步更新:您现在可以使用以下内容删除jQuery验证以及jQuery:
@Html.Telerik().ScriptRegistrar().jQuery(false).jQueryValidation(false)
答案 1 :(得分:4)
.jQuery(false)
确实只能阻止包含jquery.js。它不会影响jquery.validate.js,也从未打算过。目前,当页面中有可编辑的网格时,无法阻止ScriptRegistrar包含jquery.validate.js。
使用Telerik CDN时,没有内置的后备支持。但是,可以实现手动解决方法。像这样:
@(Html.Telerik().ScriptRegistrar())
<script type="text/javascript">
if (typeof jQuery === "undefined" || typeof $.telerik === "undefined") {
// the CDN failed for some reason use local files
document.write("<script src='scripts/telerik.common.min.js'><\/script>");
document.write("<script src='scripts/telerik.grid.min.js'><\/script>");
// etc
}
</script>