Dynamics 365:如何隐藏HTML Web资源落地页默认按钮
移除Web Resource页面默认高亮菜单项的解决方案
我明白你遇到的问题了——通过站点地图打开Web Resource的HTML页面时,那三个默认高亮的菜单项完全没用,还影响界面整洁,而且试过Ribbon Work Bench没搞定对吧?别着急,这是因为Ribbon Work Bench主要管的是顶部功能区的按钮和选项卡,而你要处理的是站点地图导航的高亮项,属于另一个控制区域,我给你几个靠谱的解决方法:
方法一:用CSS直接隐藏(最简单高效)
既然是自定义HTML页面,直接加CSS就能搞定,步骤如下:
- 打开你的Web Resource HTML文件
- 在
<head>标签里插入一段样式代码,通过元素类名定位那些高亮项:
/* 隐藏所有高亮的导航菜单项 */ .ms-nav-item-active { display: none !important; }
如果这个类名不对,按F12打开浏览器开发者工具,直接选中高亮的菜单项,查看它的类名或父容器类名,调整选择器就行。要是不想完全移除,只是去掉高亮效果,把display: none换成下面的样式:
.ms-nav-item-active { background-color: transparent !important; border-left-color: transparent !important; /* 针对左侧导航的高亮边框 */ color: inherit !important; }
- 保存并发布Web Resource,清一下浏览器缓存再打开页面,应该就看不到那些高亮项了。
方法二:调整站点地图的导航配置
有时候这些高亮项是因为你的Web Resource节点在站点地图里有父节点,系统默认会高亮父节点路径。你可以这么改:
- 打开Dynamics的解决方案,找到站点地图编辑器
- 定位到你的Web Resource对应的导航节点
- 尝试把这个节点设置为顶级节点,或者检查它的父节点是否被标记为默认选中,取消默认选中状态
- 保存并发布站点地图,重新测试页面
方法三:用JavaScript动态移除(应对动态生成的元素)
如果CSS没生效,可能是这些导航项是页面加载后动态生成的,那用JS来处理:
在你的HTML页面里加入这段脚本:
// 等页面完全加载后执行 document.addEventListener('DOMContentLoaded', function() { // 找到所有高亮的导航项 const activeItems = document.querySelectorAll('.ms-nav-item-active'); // 逐个移除 activeItems.forEach(item => item.remove()); });
要是需要兼容Dynamics的加载机制,也可以用Xrm的加载事件:
Xrm.Page.data.entity.addOnLoad(function() { const activeItems = document.querySelectorAll('.ms-nav-item-active'); activeItems.forEach(item => item.style.display = 'none'); });
最后再啰嗦一句:Ribbon Work Bench解决不了是正常的,它的作用域是顶部的功能 ribbon,和站点地图导航完全是两个模块,所以别再在它上面浪费时间啦~
内容的提问来源于stack exchange,提问作者Jeet Gandhi
相关产品推荐
相关产品推荐

