【问题标题】:Dynamics CRM Dynamically getting HTML webresource parent controlDynamics CRM 动态获取 HTML webresource 父控件
【发布时间】:2017-05-05 14:49:09
【问题描述】:

我们在一个表单上嵌入了一个 HTML Web 资源,该资源具有控件的 name 属性(“WebResource_MyWebResource”)。

有没有一种方法可以在 HTML Web 资源中使用,允许我们动态获取它自己的父控件的名称属性,或者我们需要将 Web 资源控件名称作为数据参数传入以在其中使用它通过parent.Xrm.Page.getControl(arg) 编写的脚本?

我们不希望对资源名称进行硬编码,因为它用于通用功能,并且不一定知道最终用户将赋予控件的名称。

【问题讨论】:

  • 检查window.name,可能就是你想要的。
  • @Alex 我刚刚尝试了一个警报以查看它打印的内容,但它只是返回一个空白警报。

标签: javascript dynamics-crm microsoft-dynamics xrm


【解决方案1】:

我一直想要一个简单的方法来自己解决这个问题,最后花点时间来解决这个问题:

var win = document.defaultView || document.parentWindow; /* parentWindow for IE8- */
var parentIframeId = win.frameElement.id; 

从您的网络资源执行上述代码时,您将获得包含网络资源的 iframe 元素的 ID。

【讨论】:

  • 看起来不错,似乎可以解决问题,谢谢。在我标记为答案之前,Dynamics 是否支持这种方法?因为它有点灰色区域,因为它是从 Web 资源脚本(将支持它)到“document.xyz”(不支持)的 Xrm 页面脚本的交叉。我希望有一个“parent.Xrm”功能来实现这一点,但似乎并非如此。
  • 是的,它受支持是因为您没有修改或依赖 CRM DOM 的结构(不能保证保持不变)。
猜你喜欢
  • 2021-11-20
  • 1970-01-01
  • 1970-01-01
  • 2018-06-06
  • 2013-05-29
  • 1970-01-01
  • 1970-01-01
  • 2020-01-26
  • 1970-01-01
相关资源
最近更新 更多