当上下文位于子站点,JavaScript或JQuery中时,如何获取根站点集合URL。
答案 0 :(得分:2)
您可以使用客户端对象模型
来使用以下内容var clientContext = new SP.ClientContext();
var owebsite = clientContext.get_site.get_rootWeb();
如果没有客户端对象模型,您可以使用以下
var siteCollectionPath= _spPageContextInfo.siteServerRelativeUrl;
答案 1 :(得分:1)
var clientContext = new SP.ClientContext.get_current();
this.web = clientContext.get_site().get_rootWeb();
这对我有用。
答案 2 :(得分:0)
您可以通过使用可用信息获取没有客户端对象模型的URL,并从中对其进行字符串解析。不像Client-Object模型那样健壮,但对简单任务来说复杂程度要低得多。
window.location.href
...为您提供完整的窗口网址(例如“http://sitecollection.com/sites/mysite/Lists/myList/NewForm.aspx?ContentTypeId=0x01006AC2C39AA621424EBAD9C2AC8A54F8B9007B626ABEEB66E34196C46E13E0CA41A2&ContentTypeName=xxxx”)
L_Menu_BaseUrl
或者
_spPageContextInfo.siteServerRelativeUrl
...(正如Jinxed指出的那样)会给你相对的网址(例如“/ sites / mysite”)
答案 3 :(得分:0)
下面的示例脚本显示了如何检索根网站。 onQuerySucceedSample函数警告根网站标题。
getRootWeb = function () {
//Get and load a reference to the root web of the current site collection.
var ctx = new SP.ClientContext.get_current();
var site = ctx.get_site();
this.rootWeb = site.get_rootWeb();
ctx.load(this.rootWeb);
//Ask SharePoint to pull data for us
ctx.executeQueryAsync(Function.createDelegate(this,this.onQuerySucceed),Function.createDelegate(this, this.onQueryFailed));
};
//Function executed on success
onQuerySucceed = function () {
alert(this.rootWeb.get_title());
};
//Function executed on failure
onQueryFailed = function (sender, args) {
alert('Unable to retrieve data from the SharePoint. Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
};
答案 4 :(得分:0)
您的意思是根网站或根网站集吗?
这个将为您提供根网站集:
_spPageContextInfo.siteAbsoluteUrl.replace(_spPageContextInfo.siteServerRelativeUrl,_spPageContextInfo.siteServerRelativeUrl == \“/ \”?\“/ \”:\“\”)+ \“”
从我的帖子:http://www.rdacorp.com/2015/03/alternate-solution-alternate-css-url-sharepoint-2013-online/