如何在SharePoint中隐藏侧边栏菜单以限制用户操作?
1. 自定义CSS快速隐藏(适配现代/经典页面)
先打开浏览器开发者工具(F12),定位目标菜单元素的专属CSS类名或ID(比如类似ms-Nav-menuItem--customMenu这类标识),然后编写隐藏样式:
/* 替换为你实际找到的选择器 */ ms-Nav-menuItem--customMenu { display: none !important; }
- 现代页面:要么通过SPFx应用自定义扩展注入这段CSS,要么如果站点允许使用嵌入代码Web部件,把CSS套在
<style>标签里直接插入页面。 - 经典页面:编辑页面添加内容编辑器Web部件,粘贴上述CSS代码即可。
2. 权限控制从根源屏蔽(更严谨的方案)
如果菜单指向特定库、站点或功能,直接调整权限即可——用户无访问权限的内容,SharePoint会自动隐藏对应菜单:
- 若菜单关联文档库,进入库的权限设置,将目标用户组的权限调低(比如仅读取)或直接移除访问权限,菜单会自动消失。
- 若是站点顶部导航菜单,进入站点设置 > 导航,找到目标节点,要么直接删除,要么设置为仅特定用户组可见(保留管理员入口)。
3. 自定义页面布局/嵌入Power Apps(彻底屏蔽原生菜单)
- 现代页面:开发自定义SPFx页面布局,直接移除导航模块,只保留核心内容区域。
- 或者将页面核心内容嵌入Power Apps,完全自定义界面,原生菜单会被直接屏蔽,用户仅能看到指定内容。
4. PowerShell批量处理(多站点场景)
如果需要给多个站点批量删除目标菜单,用PowerShell脚本效率更高:
# 连接到你的SharePoint站点 Connect-PnPOnline -Url "https://你的租户.sharepoint.com/sites/你的站点" -Interactive # 获取顶部导航节点 $navNodes = Get-PnPNavigationNode -Location TopNavigationBar # 定位目标菜单并删除(替换为实际菜单标题) $targetMenu = $navNodes | Where-Object { $_.Title -eq "目标菜单名称" } if ($targetMenu) { Remove-PnPNavigationNode -Identity $targetMenu.Id -Force }
内容的提问来源于stack exchange,提问作者Nikola Jevtic
相关产品推荐
相关产品推荐

