问题描述
|
脚本注册器甚至在加载了jquery.validation.min.js之后
Html.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中的“ 3”,并在本地服务器上搜索脚本。我仍然想使用CDN。
UPD:实际上有一种方法可以使用telerik的CDN源,但是如果由于某种原因它们已关闭,请从项目服务器中加载所有内容?
解决方法
对于来自搜索引擎的人,此答案的进一步更新:您现在可以使用类似以下的方法删除除jQuery之外的jQuery验证:
@Html.Telerik().ScriptRegistrar().jQuery(false).jQueryValidation(false)
,“ 5”确实阻止仅包含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>