Sharepoint Как определить, является ли ваш текущий сайт корневым или дочерним (уровень дочернего сайта)?

Я использую "_spPageContextInfo.webAbsoluteUrl" для определения URL сайта.

Как идентифицировать ваш текущий сайт, который вы просматриваете, как корневой сайт или дочерний сайт с помощью javascript? Если дочерний сайт, то какой это уровень? Решение - только javascript и основано только на URL-адресе сайта.

Спасибо за помощь.


person anhtv13    schedule 07.09.2017    source источник


Ответы (1)


Вы можете использовать _spPageContextInfo.siteServerRelativeUrl.

Если _spPageContextInfo.siteServerRelativeUrl равно /, значит, вы определенно находитесь на корневом сайте.

На дочернем сайте значение _spPageContextInfo.siteServerRelativeUrl будет /subsite1.

В подсайте значение _spPageContextInfo.siteServerRelativeUrl будет /subsite1/subsite1_1.

Другой вариант - проверить, равно ли _spPageContextInfo.webAbsoluteUrl _spPageContextInfo.siteAbsoluteUrl. Это будет верно только в случае корневого сайта. Итак, if(_spPageContextInfo.webAbsoluteUrl == _spPageContextInfo.siteAbsoluteUrl), тогда вы окажетесь на корневом сайте.

Чтобы определить уровень дочернего сайта, вы можете попробовать это, как показано ниже:

var value = _spPageContextInfo.webServerRelativeUrl;

var level = value.split('/').length -1;
person Gautam Sheth    schedule 07.09.2017
comment
Хорошая идея для определения корневого сайта и дочернего сайта. Но я хочу пойти глубже: если текущий сайт является дополнительным, какой это уровень? - person anhtv13; 07.09.2017
comment
если мой корневой сайт - это mywebsite: 8888 / sites / mynewsite, переменная _spPageContextInfo.webServerRelativeUrl равна / sites / mynewsite и ваш код неверен. - person anhtv13; 07.09.2017