用于折叠SharePoint任务的改进脚本列表

时间:2018-04-18 13:29:49

标签: javascript sharepoint sharepoint-2013

我有一个与MS Project文件同步的SharePoint 2013任务列表。默认情况下,将展开包含所有任务,子任务和子子任务的整个任务列表。当列表中有几百或几千个任务时,这几乎没有用处。找到here后面的代码段,我就可以让任务列表崩溃了:

<script type="text/javascript">
 jQuery(document).ready(function($) { 
 (function($){
     function doCollapseTaskList() {
$(".ms-commentcollapse-iconouter > img").each(function(){
$(this).click();
});
}
$(function() {
  SP.SOD.executeOrDelayUntilScriptLoaded(function () {
if (typeof asyncDeltaManager != "undefined")
             asyncDeltaManager.add_endRequest(doCollapseTaskList);
           else doCollapseTaskList();
   },'SP.js');
     });

     })(jQuery); 
   });
</script>

但每当我点击任务旁边的小复选框时,列表会刷新,这次,它会再次展开。我不明白为什么脚本在refres之后不会崩溃列表。如何在刷新后运行脚本?或者有没有办法在检查一个checbox后阻止刷新(当然还是保存了那个检查)。

1 个答案:

答案 0 :(得分:1)

这是我的测试结果[使用Office 365 / SharePoint Online]。使用按钮和/或以下浏览器之一(如果可能)尝试复选框,将此脚本添加到内容编辑器Web部件中。我似乎在运行此程序时遇到问题,但是一旦运行成功,我便对照安装的所有四个浏览器进行了检查。

MS Edge 40.15063.674.0 -不会自动运行脚本。我添加了一个按钮,它将折叠整个列表,然后展开整个列表。我不断按下按钮,并且不断扩大/折叠列表

MS IE 11.1563.15063.0 -运行列表已折叠(有效!)。按下按钮不会执行任何操作。

FireFox Quantum 64位(无版本号) -运行列表已折叠(有效!)。按下按钮可展开列表。再按一次,将选择列表中的最后一个折叠/展开项目。

Google Chrome 72.0.3626.109 -不会自动运行脚本。按下按钮将折叠列表。再按一次按钮无济于事。

未安装或测试其他浏览器。

添加了按钮标记:

<input type="button" value="Collapse Task List" onclick="doCollapseTaskList()">

似乎该脚本是为IE编写的。似乎有人需要对其进行修改以支持多种浏览器。