Xrm.Page.getControl("webResource1").getObject()
在 Sales Dynamics 365 中运行良好,但在 Sales Hub 中无法运行。
对应的是使用formContext
,但是如何从另一个 web 资源调用 web 资源中的脚本。
例如。
Xrm.Page.getControl("webResource1").getObject().contentWindow.function1()
在销售中运行良好,但在统一 UI 中运行良好。
Xrm.Page.getControl("webResource1").getObject()
在 Sales Dynamics 365 中运行良好,但在 Sales Hub 中无法运行。
对应的是使用formContext
,但是如何从另一个 web 资源调用 web 资源中的脚本。
例如。
Xrm.Page.getControl("webResource1").getObject().contentWindow.function1()
在销售中运行良好,但在统一 UI 中运行良好。
Xrm.Page
已弃用(已弃用的方法在此处)
您现在必须执行以下操作:
Pass Execution Context as first parameter
复选框executionContext
(名称并不重要)完成上述操作后,您可以访问formContext
包含其中包含的大部分方法的新对象Xrm.Page
更多信息在formContext
这里
例如:
function myHandler(executionContext)
{
var formContext = executionContext.getFormContext();
var myWebResource = formContext.getControl("webResource1");
}
编辑以解决空getObject
错误
从返回的对象getControl()
确实有一个getObject
方法 ( MSDN ),该方法声明它将返回:
- IFRAME 从文档对象模型 (DOM) 返回 IFrame 元素。
- Silverlight Web 资源将从 DOM 中返回表示嵌入 Silverlight 插件的 Object 元素。
如果您得到一个空对象,那么您的网络资源名称可能有错误。
在设计器模式下打开您的 CRM 表单并找到您的网络资源。双击查看其属性。您正在寻找field name
CRM Online 中前缀为“WebResource_”的
例如:
使用时还有另一个设计更改导致此问题null
,formContext.getControl("WebResourceName").getObject()
因为除非单击/导航,否则尚未呈现具有 Web 资源的销售中心或 UCI 表单选项卡。
Dynamics 社区线程中的类似主题