4

After the upgrade from dynamics-crm 2011 to dynamics-crm 2013 I am having some issues trying to refresh an iframe.

Previously and in the sdk Microsoft has to get a control/iframe use the "Xrm.Page.getControl()" or other posts say to use "Xrm.page.ui.controls.get()" below are the errors I am getting.enter image description here

I have found a work around but my concern is that it is not supported. I use Jquery to first retrieve the iframe that is the record since it is no longer its own window. Then I search for the Name/Id of my web-resource/iframe.

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

This works and is what I am using now. My question is does any one know what happened to the Xrm.Page.getControl() or Xrm.page.ui.controls?

Daryl
  • 18,592
  • 9
  • 78
  • 145
Dustin Warner
  • 71
  • 1
  • 3

4 Answers4

1

In debugger there is a spelling mistake. It should be Xrm.Page.ui.controls instead of Xrm.Page.ui.control.

Below code should works for you.

Xrm.Page.ui.controls.get("WebResource_PowerTools");
Charan Raju C R
  • 758
  • 5
  • 21
  • 43
1

The problem is you try to reach and use XRM in iFrame. But Xrm functions are in window, so just do it like this :

window.parent.Xrm.Page...
tottotech
  • 136
  • 7
0

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

Nikos Paraskevopoulos
  • 39,514
  • 12
  • 85
  • 90
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(): Returns the HTML object iFrame
Domenico Zinzi
  • 954
  • 10
  • 18