Will man wissen, welches denn der aktuelle Site-Collection URL ist, ohne dass man dafür das Ecma-Script OM abfragen muss, kann JavaScript-Objekt spPageContextInfovom SPWebPartManager helfen.
Das
spPageContextInfo-JavaScript-Object ist faktisch auf praktisch jeder SharePoint-Seite vorhanden, denn es wird vom SPWebPart-Manager generiert und dieser ist auf allen Standard-MasterPages von SharePoint 2010 Foundation und Server vorhanden.
Folgende Eigenschaften stehen somit Client-seitig ohne Aufruf der ECMA-Script Client-API zur Verfügung:
spPageContextInfo = {
webServerRelativeUrl: "\u002f",
webLanguage: 1033,
currentLanguage: 1033,
webUIVersion:4,
pageListId:"{8821fc0e-d6dd-402e-aa73-f7123f71ed3d}",
pageItemId:274,
userId:23,
alertsEnabled:false,
siteServerRelativeUrl: "\u002f",
allowSilverlightPrompt:'True'
}
Der Output unterscheidet sich, ob man sich auf einer "normalen" oder einer Publishing-Framework-Seite befindet (in dem Fall gibt es pageListId und pageItemId, ansonsten logischerweise nicht)
Hier
geht es zu einem Blog-Beitrag von Ted Pattison mit vielen zusätzlichen Infos, dafür auf Englisch.