日期:2014-05-16  浏览次数:20362 次

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只加载一遍:

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

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

 

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

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

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


 

 

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