javascriptsharepointsharepoint-2013jslink

SharePoint 2013 JSLink OnPostRender


I use JSLink to color a SharePoint 2013 task list.

This code is the entry point to call the 'HiglightRowOverride' function:

(function () {
var overrrideCtx = {};

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

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

On the first load of the page with the list the JS is sometimes executed.

When i use F5 to refresh the page the JS is always executed.

When I click on the link to the list in the left sidebar again (list is already opened) the page refreshes but my JS is not executed. I debugged this with Chrome JS debugger.

I dunno why the JS is executed sometimes and sometimes not. Can you help me?


Solution

  • Perhaps you're running into the "MDS" (Minimal Download Strategy) feature of SP2013.

    Make sure you register your template overriding code as a module with RegisterModuleInit(), if you have MDS enabled in your site.

    You can see this article for more details: http://blogs.msdn.com/b/sridhara/archive/2013/02/08/register-csr-override-on-mds-enabled-sharepoint-2013-site.aspx