Стартовая страницаНовостиЗагрузка скриптов в SharePoint
Читайте также:

Загрузка скриптов в SharePoint

В прошлом году пришлось заняться разворчиванием и допилкой портала на SharePoint версии 2013. В обычной жизни я привык использовать requirejs, но у “шарика” куча своих “лисапедов”. Один из них, как оказалось, касается зависимости скриптов и очередности их загрузки. Реализовано все это в классе SP.SOD и называется Script On Demand.
Таким образом получился вот такой код, который используется в загрузочном js файле прописанном на главной странице портала.

function MasterLoad(){
SP.SOD.registerSod("jquery-1.9.1.min.js","http://portal.uec-saturn.ru/Scripts/jquery-1.9.1.min.js");
SP.SOD.registerSod("bootstrap.js","http://portal.uec-saturn.ru/Scripts/bootstrap.js");
LoadSodByKey("jquery-1.9.1.min.js", function(){
SP.SOD.executeFunc("jquery-1.9.1.min.js",'null', function(){
LoadSodByKey("bootstrap.js", function(){
SP.SOD.executeFunc("bootstrap.js",'null', function(){});
});
SP.SOD.registerSod("WarningBar.js","http://portal.uec-saturn.ru/Scripts/WarningBar.js");
LoadSodByKey("WarningBar.js", function(){
SP.SOD.executeFunc("WarningBar.js",'pageLoad_WarningBar', function(){
});
});
PostLoad();
});
 
});

}
 
//пост загрузка специфические скрипты для особых страниц
 
function PostLoad(){
switch(window.location.href){
case 'http://portal.uec-saturn.ru/news/SitePages/defaultpage.aspx':
{
SP.SOD.registerSod("newsreader.js","http://portal.uec-saturn.ru/Scripts/newsreader.js");
LoadSodByKey("newsreader.js", function(){
SP.SOD.executeFunc("newsreader.js",'pageLoad_NewsReader', function(){
});
});
break;
}
}
}
 
 

Что он делает?

Ну во первых загружает jquery и bottstrap. После того как загржается первый можно загружать зависимые от него скрипты. WarningBar - скрипт который перекрывает suitBar "шарика". Теперь она у меня служит строкой для предупреждения о всевозможных событиях и проблемах на сервере. Так же в методе PostLoad можно указать специфические скрипты которые должны быть загруженны только для специфических страниц.

Таким образом этот скрипт и описанный подход решает проблему связанную с очередностью загрузки скриптов на сайте.

Однако есть одна проблемма. Называется она JS-Link. В случае если вы поместили скрипт в JS-Link, например, пропустив некий список через CSR, то скрипт в JS-Link всегда выполнится первым на странице.

Для этого я добавил еще одну функцию где определяю страницы исключения.

 

Пока еще нет ни одного комментария. 

Дима Кононов © - разработка сайтов и порталов.


Функционирует с 2013 года. Версия 3.0
Разработка и дизайн: Кононов Дмитрий
Комментарий: У меня есть, что сказать по этому поводу, но я лучше промолчу.
Сейчас зарегистрированных посетителей на сайте: 0 Посмотреть подробнее...
Новостная лента RSS 2.0

Вверх