Telerik (). ScriptRegistrar () Как предотвратить загрузку библиотек jquery? - PullRequest
6 голосов
/ 26 мая 2011

Сценарий-регистратор загружает 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 на странице, он загрузит все необходимые скрипты, включая grid.min, grid.editing и jquery.validate.min.

Я предпочитаю управлять им самостоятельно, а не просто, чтобы получить сообщение об ошибке или неработающие элементы, если я забыл определить правильные сценарии.

Если я попытаюсь использовать этот фрагмент:

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

Он игнорирует useTelerikContentDeliveryNetwork="true" в web.config и ищет скрипты на локальном сервере.Я все еще хочу использовать CDN.

UPD: Есть ли способ использовать источники CDN от Telerik, но если по какой-то причине они не работают, загрузите все содержимое с сервера проекта?

Ответы [ 2 ]

10 голосов
/ 16 сентября 2011

В качестве дополнительного обновления к этому ответу для людей из поисковых систем: теперь вы можете удалить проверку jQuery в дополнении к jQuery, используя что-то вроде:

@Html.Telerik().ScriptRegistrar().jQuery(false).jQueryValidation(false)
4 голосов
/ 27 мая 2011

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