Javascript 用于折叠SharePoint任务列表的改进脚本
我有一个与MS Project文件同步的SharePoint 2013任务列表。默认情况下,将展开包含所有任务、子任务和子任务的整个任务列表。这使得当列表中有几百或几千个任务时,它几乎毫无用处。找到以下代码片段后,我能够使任务列表折叠:Javascript 用于折叠SharePoint任务列表的改进脚本,javascript,sharepoint,sharepoint-2013,Javascript,Sharepoint,Sharepoint 2013,我有一个与MS Project文件同步的SharePoint 2013任务列表。默认情况下,将展开包含所有任务、子任务和子任务的整个任务列表。这使得当列表中有几百或几千个任务时,它几乎毫无用处。找到以下代码片段后,我能够使任务列表折叠: <script type="text/javascript"> jQuery(document).ready(function($) { (function($){ function doCollapseTaskList() { $(
<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>
jQuery(文档).ready(函数($){
(函数($){
函数doCollapseTaskList(){
$(“.ms.icooter>img”).each(函数(){
$(此选项)。单击();
});
}
$(函数(){
SP.SOD.executeOrderLayintlScript加载(函数(){
if(asyncDeltaManager的类型!=“未定义”)
asyncDeltaManager.add_endRequest(doCollapseTaskList);
else doCollapseTaskList();
},'SP.js');
});
})(jQuery);
});
但每当我单击任务旁边的小复选框时,列表就会刷新,这一次,它会再次展开。我不明白为什么脚本在重新引用后不折叠列表。如何使脚本在刷新后运行?或者,是否有任何方法可以防止在检查checbox后进行刷新(当然,仍保存该检查)。以下是我的测试结果[使用Office 365/SharePoint Online]。使用按钮和/或以下浏览器之一(如果可能)尝试复选框,将此脚本添加到内容编辑器web部件。我似乎在运行这个程序时遇到了问题,但一旦它运行起来,我就对照我安装的所有四种浏览器进行了检查 MS Edge 40.15063.674.0 -不会自动运行脚本。我添加了一个按钮,它将折叠整个列表,然后展开整个列表。我不停地按按钮,它不停地扩展/折叠列表 MS IE 11.1563.15063.0 -在列表已折叠的情况下运行(它可以工作!)。按下按钮什么也不做 FireFox Quantum 64位(无版本) -在列表已折叠的情况下运行(它可以工作!)。按下按钮可展开列表。再次按该键将选择列表中的最后一个折叠/展开项 谷歌Chrome 72.0.3626.109 -不会自动运行脚本。按下按钮可折叠列表。再次按下按钮没有任何作用 没有安装或测试其他浏览器 添加了按钮标记:
<input type="button" value="Collapse Task List" onclick="doCollapseTaskList()">
该脚本似乎是为IE编写的。似乎有人需要修改它以支持多个浏览器。如果这是
UpdatePanel
请检查此项:。如果这是js grid
检查:感谢您的详细回复,但我已经完全放弃了SharePoint任务列表。