SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的有关问题

SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的问题

SharePoint 2013 中JavaScript的功能大大增强,除了传统的JS model的加强外,JavaScript还可以用这类Display template,比如:

    Search result 的Display template  http://blog.csdn.net/farawayplace613/article/details/8455085

    Field Type 的客户端渲染 (Client side rendering)http://msdn.microsoft.com/en-us/library/jj220061.aspx

    List view 的客户端渲染 (Client side rendering) http://msdn.microsoft.com/en-us/library/jj220045.aspx

以上这些功能都要强大的JavaScript。

本文主要讲述SharePoint 2013 用JavaScript 中客户化Field Type时客户化的JS代码只加载第一遍的问题, 笔者follow 微软的文档走了一遍

http://msdn.microsoft.com/en-us/library/jj220061.aspx

但发现JSLinkUrl 所指向的客户化JavaScript只加载一遍:

SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的有关问题

SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的有关问题

当笔者在点击旁边的NewTest Link时,客户化的JavaScript就不加载了

SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的有关问题

当刷新整个浏览器时客户化的JavaScript又可以加载了。

 

笔者为了这个问题烦了好久,最后问到一个微软的专家,他给了笔者答案。

这是SharePoint 2013的一个名叫“Minimal Download Strategy”的新feature的 bug, 微软也是好心的,想让 SharePoint 页面加载时快点,但是却不小心弄出了个bug,想来将来会修复的。

这里暂时可以跳过这个问题的方案就是禁用这个Feature:


SharePoint 2013 用JavaScript 中客户化Field Type时JSLinkUrl 所指向的客户化JS代码只加载第一遍的有关问题

 

 

http://social.msdn.microsoft.com/Forums/en-US/sharepointdevelopment/thread/a54a8a75-e9e5-460f-bf78-dda6d2d2e5be