Reputation: 71
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.
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
?
Upvotes: 4
Views: 8190
Reputation: 986
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);
};
Upvotes: 0
Reputation: 33
self.parent.Page.ui.controls.get("WebResource_PowerTools");
Upvotes: 0
Reputation: 136
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...
Upvotes: 1
Reputation: 768
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");
Upvotes: 1