Как определить, вызывается ли JavaScript XRM из единого интерфейса (UCI) или устаревшего веб-клиента?

Есть функция: Xrm. Внутренний.isUci (), но он помечен как Внутренний, поэтому его, скорее всего, не предполагается использовать. Но мне нужен метод, чтобы определить, вызывается ли мой код из UCI или из устаревшего веб-клиента (потому что в поведении кода есть различия в поведении).

Есть ли поддерживаемый механизм для определения этого?

2 ответа

Решение

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

function isUCI() {
   var globalContext = Xrm.Utility.getGlobalContext();
   var t1 = globalContext.getCurrentAppUrl();
   var t2 = globalContext.getClientUrl();
   return t1 !== t2;
}

Тема сообщества на ту же тему

Еще одна поддерживаемая опция, которая может работать:

var globalContext = Xrm.Utility.getGlobalContext();
globalContext.getCurrentAppProperties().then(successCallback, errorCallback);
Другие вопросы по тегам