我正在努力的要求之一,我使用JSOM获取SharePoint网站中存在的所有文档库的列表。现在我必须从所有用户隐藏这些文档库,仅限FYI,这不是基于权限的。所有用户的行为都是统一的。
我使用下面的代码来获取所有库的列表。
<script type="text/javascript">
var currentcontext = null;
var currentweb = null;
ExecuteOrDelayUntilScriptLoaded(GetLibrariesOnly, "sp.js");
//to get the list of document libraries.
function GetLibrariesOnly()
{
currentcontext = new SP.ClientContext.get_current();
currentweb = currentcontext.get_web();
this.listCollection = currentweb.get_lists();
listCollection.set_hidden(true);
currentcontext.load(listCollection);
currentcontext.executeQueryAsync(Function.createDelegate(this, this.ExecuteOnSuccess),
Function.createDelegate(this, this.ExecuteOnFailure));
}
function ExecuteOnSuccess(sender, args) {
var listEnumerator = this.listCollection.getEnumerator();
var allLibs ="";
while (listEnumerator.moveNext())
{
var list = listEnumerator.get_current();
if(list.get_baseTemplate() == '101')
{
allLibs+= list.get_title() + '\n';
}
}
alert("All Libraries:" + '\n' + allLibs);
}
function ExecuteOnFailure(sender, args) {
alert("Error in Getting Libraries");
}
我应该添加/更改什么来隐藏除警报中显示的文档和站点资产库之外的库。
我想隐藏除网站资源和默认文档库之外的所有库。请看下面的截图。我正在使用SharePoint在线/ Office 365.提前感谢。
答案 0 :(得分:1)
跟随css将隐藏所有磁贴网站内容:
<style>
.ms-vl-apptile.ms-vl-apptilehover {display :none;}
</style>
以下javascript将有助于显示所需的图块,这适用于所有图块:
<script>
$('a[title="Documents"]').parent('div').parent('div').parent('div').parent('div').css("display","inline-block");
$('a[title="Site Assets"]').parent('div').parent('div').parent('div').parent('div').css("display","inline-block");
$('a[title="Style Library"]').parent('div').parent('div').parent('div').parent('div').css("display","inline-block");
</script>
注意:您必须在 MasterPage 中添加此 javascript 和 css 引用或js和css代码。 不要忘记包含jquery引用。