![](/img/trans.png)
[英]get value of Sharepoint content field on a publishing page using javascript?
[英]To get number of views of a SharePoint page using JavaScript
我正在嘗試檢索SharePoint頁面的視圖數。 在Google上搜索后,我發現了一個JavaScript,該JavaScript在ViewLifeTime屬性的幫助下使用JavaScript獲取了視圖數。
以下是JavaScript代碼供參考:-
var context;
var web;
var list;
var currentItem;
function get_Views(){
context = new SP.ClientContext.get_current();
web = context.get_web();
list = web.get_lists().getById(_spPageContextInfo.pageListId);
currentItem = list.getItemById(_spPageContextInfo.pageItemId)
context.load(currentItem);
context.executeQueryAsync(onQuerySucceeded, onQueryFailed);
}
function onQuerySucceeded() {
var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context);
keywordQuery.set_queryText('PageGuid:"{' + currentItem.get_fieldValues("UniqueId").UniqueId.toString() + '}"');
var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(context);
results = searchExecutor.executeQuery(keywordQuery);
context.executeQueryAsync(SearchDone, onQueryFailed)
}
function SearchDone() {
var viewCount = results.m_value.ResultTables[0].ResultRows[0].ViewsLifeTime;
alert(viewCount);
//Use JQuery to show the viewCount on the page
}
function onQueryFailed(sender, args) {
//Error Logging
}
但這在以下行給了我一個錯誤:
var viewCount = results.m_value.ResultTables[0].ResultRows[0].ViewsLifeTime;
錯誤:-
未捕獲的TypeError:無法讀取未定義的屬性'ViewsLifeTime'
調試后,我發現ResultTables中沒有ResultRows。
當我能夠在SharePoint網站上看到視圖數時,此錯誤的原因可能是什么?
任何建議都是可取的。
加載sp.js后,嘗試包裝腳本,
ExecuteOrDelayUntilScriptLoaded(customfunction, "sp.js");
function customfunction(){
//your code logic
}
更新:
您可以嘗試以下代碼。
<script type="text/javascript">
ExecuteOrDelayUntilScriptLoaded(customfunction, "sp.js");
function customfunction() {
SP.SOD.registerSod('sp.search.js', "/_layouts/15/sp.search.js");
SP.SOD.executeFunc('sp.search.js', 'Microsoft.SharePoint.Client.Search.Query.KeywordQuery', function () {
var context;
var web;
var list;
var currentItem;
function get_Views() {
context = new SP.ClientContext.get_current();
web = context.get_web();
list = web.get_lists().getById(_spPageContextInfo.pageListId);
currentItem = list.getItemById(_spPageContextInfo.pageItemId)
context.load(currentItem);
context.executeQueryAsync(onQuerySucceeded, onQueryFailed);
}
function onQuerySucceeded() {
var keywordQuery = new Microsoft.SharePoint.Client.Search.Query.KeywordQuery(context);
keywordQuery.set_queryText('PageGuid:"{' + currentItem.get_fieldValues("UniqueId").UniqueId.toString() + '}"');
var searchExecutor = new Microsoft.SharePoint.Client.Search.Query.SearchExecutor(context);
results = searchExecutor.executeQuery(keywordQuery);
context.executeQueryAsync(SearchDone, onQueryFailed)
}
function SearchDone() {
var viewCount = results.m_value.ResultTables[0].ResultRows[0].ViewsLifeTime;
alert(viewCount);
//Use JQuery to show the viewCount on the page
}
function onQueryFailed(sender, args) {
alert(args);
}
get_Views();
})
}
</script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.