如何确定是从统一接口(UCI)还是传统web客户端调用Dynamics XRM javascript?

如何确定是从统一接口(UCI)还是传统web客户端调用Dynamics XRM javascript?,javascript,dynamics-crm,microsoft-dynamics,xrm,dynamics-crm-uci,Javascript,Dynamics Crm,Microsoft Dynamics,Xrm,Dynamics Crm Uci,有一个函数:Xrm.Internal.isUci(),但它被标记为Internal,因此它很可能不应该被使用。但是,我需要一种方法来确定我的代码是从UCI调用还是从遗留web客户端调用(因为代码的行为方式存在行为差异) 是否有一个受支持的机制来确定这一点?这是我们今天使用的,我们支持并为我们工作: function isUCI() { var globalContext = Xrm.Utility.getGlobalContext(); var t1 = globalContext.

有一个函数:Xrm.Internal.isUci(),但它被标记为Internal,因此它很可能不应该被使用。但是,我需要一种方法来确定我的代码是从UCI调用还是从遗留web客户端调用(因为代码的行为方式存在行为差异)


是否有一个受支持的机制来确定这一点?

这是我们今天使用的,我们支持并为我们工作:

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);

我看到了这段代码,我唯一关心的是t1和t2之间的区别在于t1包含appid='xxxxxx'。如果UCI被设置为默认(或者可以设置为默认UI?这是否仍然有效?@RajRao我们也在等待那天更改代码:)将更新此线程明确更新此想法/建议可能是个好主意: