2

我使用 JSLink 为 SharePoint 2013 任务列表着色。

此代码是调用“HiglightRowOverride”函数的入口点:

(function () {
var overrrideCtx = {};

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

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

在第一次加载带有列表的页面时,有时会执行 JS。

当我使用 F5 刷新页面时,JS 总是被执行。

当我再次单击左侧边栏中列表的链接时(列表已打开),页面刷新但我的 JS 未执行。我使用 Chrome JS 调试器对此进行了调试。

我不知道为什么有时会执行 JS,有时不执行。你能帮助我吗?

4

1 回答 1

1

也许您遇到了 SP2013 的“MDS”(最小下载策略)功能。

如果您在站点中启用了 MDS,请确保您使用 RegisterModuleInit() 将模板覆盖代码注册为模块。

您可以查看这篇文章了解更多详细信息:http: //blogs.msdn.com/b/sridhara/archive/2013/02/08/register-csr-override-on-mds-enabled-sharepoint-2013-site.aspx

于 2015-01-19T22:33:12.357 回答