SharePoint bietet mit seiner JavaScript-Bibliothek (INIT.JS) die Möglichkeit dem Body onload-Event mehrere JavaScript-Funktionen hinzuzufügen um diese im onlad-Event nacheinander auszuführen.
Dazu werden zum einen dem Array _spBodyOnLoadFunctionNames weitere Funktionen hinzugefügt: _spBodyOnLoadFunctionNames.push("meineEigeneFunktion").
Zum anderen wird beim onload-Event das Array spBodyOnLoadFunctionNames abgefragt:
onload="javascript:if (typeof(_spBodyOnLoadWrapper) != 'undefined') _spBodyOnLoadWrapper();"
Wenn die Funktion _spBodyOnLoadWrapper exisitert, dann wird diese aufgerufen. Diese Funktion wiederum ruft die Funktion ProcessDefaultOnLoad auf welche das Array _spBodyOnLoadFunctionNames nach Funktionsnamen durchgeht und anschießend diese Funktionen nacheinander ausführt:
function ProcessDefaultOnLoad(onLoadFunctionNames)
{
// ...
for (var i=0; i < onLoadFunctionNames.length; i++)
{
var expr="if(typeof("+onLoadFunctionNames[i]+")=='function'){"+onLoadFunctionNames[i]+"();}";
eval(expr);
}
if (typeof(_spUseDefaultFocus)!="undefined")
DefaultFocus();
}
Auf diese Weise lassen sich eigene Funktionen wie z.B. Ajax-Funktionen in ein SharePoint-Projekt einbinden.