【问题标题】:Telerik().ScriptRegistrar() How to prevent loading jquery libraries?Telerik().ScriptRegistrar() 如何防止加载 jquery 库?
【发布时间】:2011-05-26 15:20:42
【问题描述】:

脚本注册器甚至在之后加载 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。

我更喜欢自己控制它,而不是仅仅为了得到一个错误,或者如果我忘记定义正确的脚本而导致无效的元素。

如果我尝试使用这个 sn-p:

@Html.Telerik().ScriptRegistrar().jQuery(false).Scripts(s =>
{
    s.Add("telerik.common.min.js");
...

它会忽略 web.config 中的 useTelerikContentDeliveryNetwork="true",并在本地服务器上搜索脚本。我还是想用 CDN。

UPD:实际上有没有办法使用 Telerik 的 CDN 资源,但如果由于某种原因它们已关闭,请从项目服务器加载所有内容?

【问题讨论】:

    标签: asp.net-mvc-3 telerik-mvc


    【解决方案1】:

    作为来自搜索引擎的人对此答案的进一步更新:您现在可以使用以下内容在 jQuery 中删除 jQuery Validation:

    @Html.Telerik().ScriptRegistrar().jQuery(false).jQueryValidation(false)
    

    【讨论】:

      【解决方案2】:

      .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>
      

      【讨论】:

      • 嘿.. 你在 Telerik 团队.. 对吗?谢谢你们的好东西。真是太棒了!
      • 是的,我是。我希望这是一件好事:)谢谢你的好话。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多