我使用JSLink为SharePoint 2013任务列表着色。
此代码是调用'HiglightRowOverride'函数的入口点:
(function () {
var overrrideCtx = {};
overrrideCtx.Templates = {};
overrrideCtx.OnPostRender = [HiglightRowOverride];
SPClientTemplates.TemplateManager.RegisterTemplateOverrides(overrrideCtx);})();
在第一次加载包含列表的页面时,有时会执行JS。
当我使用F5刷新页面时,JS总是被执行。
当我再次单击左侧栏中列表的链接(列表已打开)时,页面刷新但我的JS未执行。我使用Chrome JS调试器调试了这个。
我不知道为什么有时会执行JS而有时不会执行。 你能救我吗?
答案 0 :(得分:1)
也许你正在进入" MDS" SP2013的(最小下载策略)功能。
如果您的站点中启用了MDS,请确保将模板覆盖代码注册为具有RegisterModuleInit()的模块。
您可以参阅此文章了解更多详情:http://blogs.msdn.com/b/sridhara/archive/2013/02/08/register-csr-override-on-mds-enabled-sharepoint-2013-site.aspx