工作完美腳本:
$(文件)。就緒(函數(){jQuery的 ( 'CMDSET')點擊(函數(){
var scriptBase = _spPageContextInfo.webAbsoluteUrl + "/_layouts/15/";
$.getScript(scriptBase + "sp.runtime.js", function() {
$.getScript(scriptBase + "sp.js", function() {
$.getScript(scriptBase + "sp.core.js", sharePointReady);
});
});
});
});
// create page-level variables to hold client context and web
var context;
var web;
var masterurl;
var site;
function sharePointReady() {
// assign values to page-level variables
context = new SP.ClientContext.get_current();
web = context.get_web();
// provide CSOM with instructions to load info about current web
context.load(web, 'ServerRelativeUrl');
web.set_customMasterUrl(L_Menu_BaseUrl + '/_catalogs/masterpage/seattle.master');
web.set_masterUrl(L_Menu_BaseUrl + '/_catalogs/masterpage/seattle.master');
web.update();
context.executeQueryAsync(function() {
alert("Starting Master Page Setting......");
masterurl = web.get_serverRelativeUrl() + "/_catalogs/masterpage/seattle.master";
alert(masterurl);
alert("Master Page is Set Successfully!!!");
}, function (sender, args) {
alert("Error: " + args.get_message());
});
}
來源
2013-03-20 22:59:02
nks
我認爲這是距離客戶端對象模型最近的東西:http://code.msdn.microsoft.com/SharePoint-2013-Assign-new-5c19062b。我期望,也應該可以從JavaScript做到。如果您可以更詳細地指定您的問題,也許我將能夠提供更多幫助。 – 2013-03-09 23:20:39
非常感謝@Marek Kembrowski !!! 讓我詳細解釋我的問題: 我想訪問並更改網站設置 - >導航(在外觀和感覺下) - >全局和當前導航爲「結構導航」而不是「託管導航」。 我想使用CSOM(Javascript/REST/WebSErvice)來實現這一點。我沒有任何選擇使用服務器端或管理對象模型。 我希望這可能會讓你更仔細地看待實際需求。 再次感謝! nks – nks 2013-03-11 23:45:46
在這種情況下,我不知道任何方式來實現這一點(我認爲沒有任何使用JavaScript/Web服務)。 – 2013-03-12 07:36:59