Beispielcode:
$(document).ready(function () {
ExecuteOrDelayUntilScriptLoaded(onPageLoaded, "sp.js");
SP.SOD.executeFunc("sp.js", null, onPageLoaded);
});
function onPageLoaded() {
getEnvironment();
}
function getEnvironment() {
context = SP.ClientContext.get_current();
currentUser = context.get_web().get_currentUser();
context.load(currentUser);
context.executeQueryAsync(onQueryUserSucceeded, onQueryFailed);
}
function onQueryUserSucceeded(sender, args) {
onUserLoaded();
}
function onQueryFailed(sender, args) {
alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace());
}
function onUserLoaded() {
if (isSiteOwner()) {
// this is the site owner, load profile properties
//ExecuteOrDelayUntilScriptLoaded(onUserProfilePropertiesLoaded, "userprofile");
SP.SOD.executeFunc("userprofile", null, onUserProfilePropertiesLoaded);
}
}
function onUserProfilePropertiesLoaded() {
var peopleManager = SP.UserProfiles.PeopleManager(context);
personProperties = peopleManager.getPropertiesFor(currentUser);
context.load(personProperties);
context.executeQueryAsync(onQueryProfileSucceeded, onQueryFailed);
}
function onQueryProfileSucceeded(sender, args) {
userPolicyExceptDate = personProperties.get_userProfileProperties()['PersonalDisclaimer'];
if (userPolicyExceptDate !== null) {
// ok we got the date, load the last modified date from the document
loadDocumentLastModified
} else {
// date not set, show user policy dialog
ExecuteOrDelayUntilScriptLoaded(onDialogReady, "sp.ui.dialog.js");
}
}
function loadDocumentLastModified() {
var clientContext = new SP.ClientContext(documentWebUrl);
var oList = clientContext.get_web().get_lists()[documentList];
}