クライアントが特定のページのみクイック起動のアイテムをカスタマイズしたいという要件があります。そのため、いくつかのページのクイック起動のアイテムを他のいくつかのアイテムで変更したいと考えています。(クイック起動のスタイルを変更することではありません。クイック起動のコンテンツの置き換えについて)
CEWPを使用してこれを達成できることを願っています.しかし、私はそれを行う方法をあまり知りません.
クライアントが特定のページのみクイック起動のアイテムをカスタマイズしたいという要件があります。そのため、いくつかのページのクイック起動のアイテムを他のいくつかのアイテムで変更したいと考えています。(クイック起動のスタイルを変更することではありません。クイック起動のコンテンツの置き換えについて)
CEWPを使用してこれを達成できることを願っています.しかし、私はそれを行う方法をあまり知りません.
目標を達成するために次の手順を実行しました
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
現在、サイド リンク バーの既存の項目が削除され、新しい項目が追加されています
ここでは、次の 2 つのアプローチを使用できます。
1) クイック起動を置き換える Web パーツの作成: この方法で、SPWeb からナビゲーションを読み取り、独自に構築できます。
2) jQuery を使用して、ページをロードする html を変更します。このアプローチでは、「display:none」をクイック起動に適用し、html に変更を加えてから、「display:block」を元に戻します。このソリューションの短所は、アイテムの名前/タイトル/URL に依存する必要があるため、管理者が変更された場合、それが壊れる可能性があることです。