4

从 dynamics-crm 2011 升级到 dynamics-crm 2013 后,我在尝试刷新 iframe 时遇到了一些问题。

以前和在 sdk 中微软必须获得一个控件/iframe 使用“Xrm.Page.getControl()”或其他帖子说使用“Xrm.page.ui.controls.get()”下面是我得到的错误.在此处输入图像描述

我找到了解决方法,但我担心它不受支持。我使用 Jquery 首先检索作为记录的 iframe,因为它不再是它自己的窗口。然后我搜索我的网络资源/iframe 的名称/ID。

$("#contentIFrame0").contents().find("#WebResource_PowerTools")[0].contentWindow.location.reload(true);

这有效,这就是我现在正在使用的。我的问题是有人知道Xrm.Page.getControl()or发生了什么Xrm.page.ui.controls吗?

4

4 回答 4

1

在调试器中存在拼写错误。它应该Xrm.Page.ui.controls代替Xrm.Page.ui.control.

下面的代码应该适合你。

Xrm.Page.ui.controls.get("WebResource_PowerTools");
于 2013-11-28T16:11:43.953 回答
1

问题是您尝试在 iFrame 中访问和使用 XRM。但是 Xrm 函数在窗口中,所以只需这样做:

window.parent.Xrm.Page...
于 2015-02-16T12:18:02.940 回答
0

self.parent.Page.ui.controls.get("WebResource_PowerTools");

于 2015-05-25T12:33:17.933 回答
0
Xrm.Page.ui.controls.get('id_iframe').getObject().onload= function() {
    var element = Xrm.Page.ui.controls.get('id_iframe').getObject().contentWindow.document.getElementById('id_element_inside_iframe');
    console.log(element);
};
  • Xrm.Page.ui.controls.get('id_iframe').getObject():返回 HTML 对象 iFrame
于 2016-09-30T11:17:02.083 回答