Как определить, вызывается ли 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);