[英]How to create master page file dynamically using JavaScript in SharePoint 2013 Online?
[英]Sharepoint 2013 Online - Display currentUser information in page
我需要獲取currentUser信息,例如在將Home.aspx頁面加載到頁面的特定區域(如頁腳區域)中時的電子郵件地址和/或名稱。 我進行了搜索,發現的每個JavaScript均不起作用。 我需要文本在腳本編輯器或內容編輯器或XML文件中顯示。
我發現的以下JavaScript有什么問題。 我在WebApp腳本編輯器中擁有它:
<script type=”text/javascript”>
ExecuteOrDelayUntilScriptLoaded(init,”sp.js”);
var currentUser;
function init(){
this.clientContext = new SP.ClientContext.get_current();
this.oWeb = clientContext.get_web();
currentUser = this.oWeb.get_currentUser();
this.clientContext.load(currentUser);
this.clientContext.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceeded), Function.createDelegate(this,this.onQueryFailed));
}
function onQuerySucceeded() {
document.getElementById(“logUser”).innerHTML = currentUser.get_loginName();
}
function onQueryFailed(sender, args) {
alert(‘Request failed. \nError: ‘ + args.get_message() + ‘\nStackTrace: ‘ + args.get_stackTrace());
}
< /script>
< div>Current Logged User:<label id=”logUser”></label></div>
誰能幫我?
由於SP.SOD.executeOrDelayUntilScriptLoaded方法期望首先加載SharePoint客戶端庫sp.js
,因此很可能不會執行init
方法。 請改用SP.SOD.executeFunc方法,因為它支持按需腳本。
SP.SOD.executeFunc('sp.js', 'SP.ClientContext',function(){
var context = new SP.ClientContext.get_current();
var web = context.get_web();
var currentUser = web.get_currentUser();
context.load(currentUser);
context.executeQueryAsync(
function(){
console.log(currentUser.get_loginName());
},
function(sender, args){
console.log('Request failed. \nError: ' + args.get_message() + '\nStackTrace: ' + args.get_stackTrace());
});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.