SharePoint 上のページに JavaScript Object Model を使ったコードを実装する場合、ページ ロード時に関数を呼び出したいことがあります。
この場合は _spBodyOnLoadFunctionNames.push() メソッドを使うのが一般的です。通常のWebサイトであれば、Body要素の Load イベントを利用するところですが、SharePoint のコンテンツ ページ上からは Body 要素の Load イベントに直接追加できません。
そのために用意されているのが _spBodyOnLoadFunctionNames 配列であり、push メソッドに呼び出したい関数名を指定します。
しかし、クライアント オブジェクト モデルを使う場合にこれを用いてしまうと、呼び出しに必要な SP.JS ファイルがロードされる前に関数が呼び出されてしまうのでうまくいきません。
このようなケースでは ExecuteOrDelayUntilScriptLoaded 関数を利用すると便利です。
コメント