Я использую JSLink для окрашивания строк в списке SharePoint 2013
ExecuteOrDelayUntilBodyLoaded(function () {
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', function () {
RegisterModuleInit(_spPageContextInfo.siteServerRelativeUrl + "/SiteAssets/jsLink.js", Highlight);
Highlight();
}
});
});
function Highlight() {
var HighlightFieldCtx = {};
HighlightFieldCtx.Templates = {};
HighlightFieldCtx.Templates.Fields = {};
HighlightFieldCtx.OnPostRender = postRenderHandler;
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(HighlightFieldCtx);
}
function postRenderHandler(ctx)
{
var rows = ctx.ListData.Row;
for (var i=0;i<rows.length;i++)
{
// do stuff
row.classList.add("Color");
}
}
Мне нужно добавить SP.SOD.executeFunc () для активации _spPageContextInfo .Но когда я добавил SP.SOD.executeFunc (), функция postRenderHandler не вызывалась в соответствии с HighlightFieldCtx.OnPostRender = postRenderHandler .Когда у меня нет SP.SOD.ExecuteFunc () и статической ссылки на мой JS и CSS, мой код и рендеринг полностью работают.Не могли бы вы помочь мне, как сделать правильный код с рабочим _spPageContextInfo ?