SharePoint 2010 JavaScriptテクニック2つ

2280 ワード

SharePoint開発は、ある程度、Web開発とも考えられますので、JavaScriptを使うことは避けられませんが、SharePoint 2010のJavaScriptの2つのテクニックを紹介します.

1.Ribbonを無効にし、ナビゲーションを保持


SharePoint 2010のUIでの最大の変化はOfficeと一致するRibbonインタフェースであり、Ribbonには様々なメリットがあるが、一部のタイプのサイト(例えばインターネット向けのサイト)にとって、Ribbonは困っているものかもしれないが、どうやってRibbonを取り除くのだろうか.
まず、Ribbonは2つの部分に分けられ、一部は上のTabであり、それはidが「s 4-ribbonrow」のdivであることを観察することができる.もう1つの部分は、idが「s 4-titlerow」のdivであるナビゲーションと実際の操作ボタンを含む次のコンテナです.
s 4-ribbonrowでは、直接隠すことができます.しかし、s 4−titlerowにとって、直接隠すのは良い方法ではない.1つのs 4-titlerowにはこのナビゲーションも含まれています.2つ目は非表示にしても、Ribbon Tabの切り替えをトリガーする操作(例えば、エントリを選択)がRibbonに表示されるので、別の方法が必要です.
Ribbon関連のJavaScriptコードを追跡すると、Ribbon Tabの切り替えをトリガーするすべてのイベントが「_ribbonStartInit」というメソッドを呼び出し、ほとんどの呼び出し前に判断されることがわかります.ribbon StartInitの存在性およびタイプ(Ribbon Tabを直接クリックした場合のみ判断されませんが、Ribbon Tabはs 4-ribbonrowで非表示になっているのでスクリプトエラーは発生しません)のため、この変数を削除またはタイプを変更することで、Ribbonのコードを切り替えることはできません.Ribbonも無効になります.次のコードに示すように、
_ribbonStartInit = "Ribbon Disabled";

 

2.Ratingを読み取り専用にする


RatingもSharePoint 2010に追加された機能ですが、この機能が有効になると、表示権限のあるユーザーだけでも採点できます.このデフォルトの動作が好きではなく、Rating情報を一部のユーザーに読み取り専用にしたい場合があります.この機能を実現するには、Ratingコントロールを分析してみましょう.
SharePoint 2010のRatingコントロールは、Renderが「RatingsCtrl_」というIDを持つspanになります.冒頭、内部にはaとspanが含まれます.それ以外に、各RatingコントロールはページにJavaScriptを登録し、RatingsControlオブジェクトを初期化します.このオブジェクトは初期化時にRatingコントロールというspanにイベントバインド(mouseover、mouseout、keypress)を追加します.
次のコードに示すように、このspan上のいくつかのイベントバインドを削除するだけで、Ratingコントロールを読み取り専用にすることができます.
function ids_ratingDisabling(){{

 

var rc =$get('Rating  ID');

 

if(rc != null)

 

$clearHandlers(rc);

 

}}

 

_spBodyOnLoadFunctionNames.push('ids_ratingDisabling');

 
ページに複数のRatingコントロールがある場合は、まずこれらのコントロールを見つけて、$clearHandlersメソッドを順番に実行する方法を考えます.
Ratingコントロールに登録されているJavaScriptはratingにあることに注意してください.jsのロードが完了したら実行するので、このコードは早く実行しないでください.ここでRatingを無効にする関数を_に追加します.spBodyOnLoadFunctionNamesでは、私たちのコードが実行されたときにRatingコントロール自身のコードが実行されたことを保証します.