最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

javascript - Unable to use Xrm.Page.getControl to get an iframe - Stack Overflow

programmeradmin4浏览0评论

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?

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?

Share Improve this question edited Nov 11, 2013 at 13:46 Daryl 18.9k10 gold badges85 silver badges156 bronze badges asked Nov 8, 2013 at 14:34 Dustin WarnerDustin Warner 711 silver badge3 bronze badges
Add a ment  | 

4 Answers 4

Reset to default 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");

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...

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

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
发布评论

评论列表(0)

  1. 暂无评论