我有客户想要为某些页面自定义快速启动项目的要求。所以,我想将快速启动中的项目更改为几页的其他项目。(不是关于改变快速启动的样式。它关于快速启动替换内容)
我希望使用 CEWP,我可以做到这一点。但我不太清楚如何做到这一点。
我有客户想要为某些页面自定义快速启动项目的要求。所以,我想将快速启动中的项目更改为几页的其他项目。(不是关于改变快速启动的样式。它关于快速启动替换内容)
我希望使用 CEWP,我可以做到这一点。但我不太清楚如何做到这一点。
你可以在这里有两种方法:
1)创建一个webpart来替换快速启动:这样你就可以从SPWeb读取导航,并自己构建它。
2)使用jQuery改变加载页面的html。在这种方法中,我将应用“显示:无”来快速启动,在 html 中进行更改,然后返回“显示:阻止”。此解决方案的缺点是您必须依赖项目的名称/标题/网址,因此如果管理员更改,它可能会破坏它。
我已按照以下步骤实现目标
1..在页面中增加了一个CEWP
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script type="text/javascript">
function startClock(){
var div= document.getElementById('s4-leftpanel-content');
var spans= div.getElementsByTagName('span');
for (index = spans.length - 1; index >= 0; index--) {
spans[index].parentNode.removeChild(spans[index]);
}
var urls= div.getElementsByTagName('a');
for (index = urls.length - 1; index >= 0; index--) {
urls[index].parentNode.removeChild(urls[index]);
}
var pTag = document.createElement('p');
pTag.innerHTML = "HR Report";
div.appendChild(pTag);
var aTag = document.createElement('ul');
div.appendChild(aTag);
var newLi = document.createElement('li');
aTag.appendChild(newLi);
var a= document.createElement('a');
a.setAttribute('href',"url");
a.innerHTML = "report2";
newLi.appendChild(a);
//do onload work
}
if(window.addEventListener){
window.addEventListener('load',startClock,false); //W3C
}
else{
window.attachEvent('onload',startClock); //IE
}
</script>
enter code here
现在,快速启动中的现有项目被删除并添加了新项目