SharePoint 2013 JSLink Онпострендер

Я использую JSLink для раскрашивания списка задач SharePoint 2013.

Этот код является точкой входа для вызова функции «HiglightRowOverride»:

(function () {
var overrrideCtx = {};

overrrideCtx.Templates = {};
overrrideCtx.OnPostRender = [HiglightRowOverride];

SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrrideCtx);})();

При первой загрузке страницы со списком иногда выполняется JS.

Когда я использую F5 для обновления страницы, JS всегда выполняется.

Когда я снова нажимаю ссылку на список на левой боковой панели (список уже открыт), страница обновляется, но мой JS не выполняется. Я отлаживал это с помощью отладчика Chrome JS.

Я не знаю, почему JS иногда выполняется, а иногда нет. Можете вы помочь мне?


person Eisfuchs    schedule 19.01.2015    source источник


Ответы (1)


Возможно, вы столкнулись с функцией «MDS» (минимальная стратегия загрузки) SP2013.

Убедитесь, что вы зарегистрировали свой код переопределения шаблона как модуль с помощью RegisterModuleInit(), если на вашем сайте включен MDS.

Дополнительные сведения см. в этой статье: http://blogs.msdn.com/b/sridhara/archive/2013/02/08/register-csr-override-on-mds-enabled-sharepoint-2013-site.aspx

person Thiago Silva    schedule 19.01.2015