2011-10-27 4 views
0

는 내가 HTML 코드를 생성하고 IFrame을로 쓰기 위해 노력하고있어 MS CRM 2011에 IFrame을 가진 문제에 직면하고있다. CRM 개발에 익숙하지 않으므로 솔루션으로 안내 할 수 있기를 바랍니다. 나는 자바 스크립트를 통해 HTML 콘텐츠 (IframeHTML)를 생성 한 후MS의 CRM 2011 자바 스크립트 iframe이 기능

나는 IFrame을에 콘텐츠를 작성하고 다음 전체 양식을 다시로드하려고합니다. 내가 도달 할 때까지 모든 것이 내 마지막 명령 벌금을하고있다

var control = document.getElementById("IFRAME_name"); 
control.contentWindow.document.open(); 
control.contentWindow.document.write(IframeHTML); 
control.contentWindow.document.close(); 
control.location.reload(true); 
스크립트는 양식의 OnLoad에서 실행되는

, 그러나 그것은 나에게

액세스에

를 거부한다는 경고를 제공합니다 끝.

내가 가진 첫 번째 라인을 교체하는 경우 :

var control = Xrm.Page.ui.controls.get("IFRAME_name"); 

이 나에게

문서를 알려주는 지원되지 않습니다.

여기의 문제가 무엇인지 인식하면 어떤 도움이 좋을지 확실하지 않습니다.

+0

예, Xrm.Page를 사용하여 IFRAME을 얻을 수 없으므로 코드의 첫 번째 블록이 잘 보입니다. 나는 CRM 2011에서 매우 유사한 코드를 사용합니다 (아래 참조). 그러면 오류가 있다고 가정합니다. var iFrame = document.getElementById ("IFRAME_name"); var doc = iFrame.contentDocument; if (doc == undefined || doc == null) { doc = iFrame.contentWindow.document; } doc.open(); doc.write (IframeHTML); doc.close(); –

+0

사실, 차이가 control.location.reload (true) 행에있을 수 있습니다. 어떤 이유로 든 해당 코드 줄이 필요합니까? –

+0

혹시 이것을 알아 냈습니까? – Polshgiant

답변

0

IFRAME 속성에서 크로스 프레임 스크립팅을 활성화해야합니다.

완료 했습니까? Xrm.Page 호출에 관한

, 당신은 당신이 그것을 사용해야하므로이는 IFRAME을 얻을 수있는 지원 방법

var control = Xrm.Page.ui.controls.get("IFRAME_name").getObject(); 

를 사용하여 IFRAME을 얻을 수 있습니다.

+0

예. 내가 해냈습니다 ... 제가 사용하고있는 명령입니까? – user1016077

+0

IFRAME에 문서를로드 했습니까? 생성 된 코드는 어디에 넣으시겠습니까? –

+0

iframe이있는 Form에서 onload를 만들고 일부 HTML 컨텐트를 iframe 자체에 넣습니다. 그것은 단순한 html입니다. Crm 4에서는 잘 작동했지만 Crm 2011에서는 제대로 작동하지 않았습니다. 그것이 Crm 4와 Crm 2011 사이의 js 구문의 차이 때문인지는 모르겠다 ... Iframe에 외부 문서를로드하지 않고, Iframe에 내가 제공하고있는 콘텐츠를 표시하기를 원한다. ... – user1016077