如何确定 Dynamics XRM javascript 是从统一接口 (UCI) 还是旧版 Web 客户端调用的?
How to determine if Dynamics XRM javascript is being invoked from the unified interface (UCI) or the legacy web-client?
有函数: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);
有函数: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);