Javascript Xrm.Page.getControl()在Dynamics 365销售中心中不工作

Javascript Xrm.Page.getControl()在Dynamics 365销售中心中不工作,javascript,dynamics-crm,microsoft-dynamics,dynamics-365,dynamics-crm-uci,Javascript,Dynamics Crm,Microsoft Dynamics,Dynamics 365,Dynamics Crm Uci,Xrm.Page.getControlwebResource1.getObject在Sales Dynamics 365中工作正常,但在Sales Hub中不工作 对应的是使用formContext,但是如何从另一个web资源调用web资源中的脚本 例如。 Xrm.Page.getControlwebResource1.getObject.contentWindow.function1在销售中工作正常,但在统一用户界面中工作不正常。Xrm.Page已被弃用弃用方法包括 您现在必须执行以下操作:

Xrm.Page.getControlwebResource1.getObject在Sales Dynamics 365中工作正常,但在Sales Hub中不工作

对应的是使用formContext,但是如何从另一个web资源调用web资源中的脚本

例如。 Xrm.Page.getControlwebResource1.getObject.contentWindow.function1在销售中工作正常,但在统一用户界面中工作不正常。

Xrm.Page已被弃用弃用方法包括

您现在必须执行以下操作:

注册事件时,必须勾选“将执行上下文作为第一个参数传递”复选框 在您的函数中,您必须添加一个名为executionContext的新参数,该名称实际上并不重要 完成上述操作后,可以访问新的formContext对象,该对象包含Xrm.Page中包含的大多数方法

有关formContext的更多信息

例如:

function myHandler(executionContext) 
{
  var formContext = executionContext.getFormContext();
  var myWebResource = formContext.getControl("webResource1");
}
编辑以解决null getObject错误

从getControl返回的对象有一个getObject方法,该方法声明它将返回:

IFRAME从文档对象模型DOM返回IFRAME元素。 Silverlight web资源将从DOM返回表示嵌入式Silverlight插件的Object元素。 如果您得到一个空对象,那么您的webresource的名称可能有错误

在designer模式下打开CRM表单并找到您的webresource。双击以查看其属性。您正在查找CRM Online中以WebResource\u为前缀的字段名

例如:

function myHandler(executionContext) 
{
  var formContext = executionContext.getFormContext();
  var myWebResource = formContext.getControl("webResource1");
}
Page已被弃用弃用的方法是

您现在必须执行以下操作:

注册事件时,必须勾选“将执行上下文作为第一个参数传递”复选框 在您的函数中,您必须添加一个名为executionContext的新参数,该名称实际上并不重要 完成上述操作后,可以访问新的formContext对象,该对象包含Xrm.Page中包含的大多数方法

有关formContext的更多信息

例如:

function myHandler(executionContext) 
{
  var formContext = executionContext.getFormContext();
  var myWebResource = formContext.getControl("webResource1");
}
编辑以解决null getObject错误

从getControl返回的对象有一个getObject方法,该方法声明它将返回:

IFRAME从文档对象模型DOM返回IFRAME元素。 Silverlight web资源将从DOM返回表示嵌入式Silverlight插件的Object元素。 如果您得到一个空对象,那么您的webresource的名称可能有错误

在designer模式下打开CRM表单并找到您的webresource。双击以查看其属性。您正在查找CRM Online中以WebResource\u为前缀的字段名

例如:

function myHandler(executionContext) 
{
  var formContext = executionContext.getFormContext();
  var myWebResource = formContext.getControl("webResource1");
}

使用formContext.getControlWebResourceName.getObject时,另一个设计更改导致此空值,因为具有web资源的Sales hub或UCI表单选项卡尚未呈现,除非单击/导航它

类似的话题


使用formContext.getControlWebResourceName.getObject时,另一个设计更改导致此空值,因为具有web资源的Sales hub或UCI表单选项卡尚未呈现,除非单击/导航它

类似的话题


同意。我也尝试过这个,但是如何获取此web资源的web内容?formContext.getControlwebResource1没有任何getObject函数,或者它始终返回nullgetObject,但它确实存在,因此您的webresource的名称必须是错误的。见我的编辑同意了。我也尝试过这个,但是如何获取此web资源的web内容?formContext.getControlwebResource1没有任何getObject函数,或者它始终返回nullgetObject,但它确实存在,因此您的webresource的名称必须是错误的。查看我的编辑