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

问题描述 投票:0回答:1

我有一个与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后阻止刷新(当然仍然保存了该检查)。

javascript sharepoint sharepoint-2013
1个回答
1
投票

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

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

MS IE 11.1563.15063.0 - 运行列表已折叠(有效!)。按下按钮什么都不做。

FireFox Quantum 64位(无版本#) - 运行列表折叠(它可以工作!)。按按钮可展开列表。再次按下它将选择列表中的最后一个折叠/展开项目。

谷歌浏览器72.0.3626.109 - 不会自动运行脚本。按下按钮会折叠列表。再次按下按钮不会执行任何操作。

没有安装或测试过其他浏览器。

按钮标记添加:

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

似乎脚本是为IE编写的。看起来有人需要修改它以支持多个浏览器。

© www.soinside.com 2019 - 2024. All rights reserved.