2013-11-08 1 views
4

После обновления от dynamic-crm 2011 до dynamic-crm 2013 У меня возникли проблемы с обновлением iframe.Невозможно использовать Xrm.Page.getControl для получения iframe

Раньше и в sdk Microsoft должна получить элемент управления/iframe, используя «Xrm.Page.getControl()» или другие сообщения, чтобы использовать «Xrm.page.ui.controls.get()» ниже, это ошибки, которые я получаю. enter image description here

Я нашел работу, но я обеспокоен тем, что она не поддерживается. Я использую Jquery для первого получения iframe, который является записью, поскольку он больше не является его собственным окном. Затем я ищу имя/идентификатор моего веб-ресурса/iframe.

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

Это работает и является тем, что я использую сейчас. Мой вопрос: кто-нибудь знает, что случилось с Xrm.Page.getControl() или Xrm.page.ui.controls?

ответ

1

В отладчике есть орфографическая ошибка. Он должен быть Xrm.Page.ui.controls вместо Xrm.Page.ui.control.

Ниже приведен код, который должен работать для вас.

Xrm.Page.ui.controls.get("WebResource_PowerTools"); 
1

Проблема заключается в том, что вы пытаетесь достичь и использовать XRM в iFrame. Но функции XRM в окне, так что просто сделать это следующим образом:.

window.parent.Xrm.Page... 
0

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

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