양식에서 IFRAME 및 웹 리소스 컨트롤 사용

 

게시 날짜: 2017년 1월

적용 대상: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

IFRAME 및 웹 리소스 컨트롤은 HTML IFRAME 요소를 사용하여 다른 위치에서 가져온 콘텐츠를 페이지에 포함시킵니다.

참고

양식에 선택한 디자인은 Outlook용 Microsoft Dynamics 365 읽기 창 및 태블릿용 Microsoft Dynamics 365에서 사용되는 양식에도 사용됩니다. 웹 리소스 및 IFRAMEs는 Outlook용 Dynamics 365 읽기 창을 사용하여 표시되지 않지만 태블릿용 Dynamics 365에서 지원됩니다.IFRAME이 페이지의 Xrm.Page 개체 또는 양식 이벤트 처리기에 대한 액세스에 따라 달라질 경우 표시되지 않도록 IFRAME을 구성해야 합니다.

IFRAME을 사용하여 다른 웹 사이트의 콘텐츠를 양식(예: ASP.NET 페이지)에 표시할 수 있습니다. 다른 엔터티 양식에 포함된 IFrame 내에 엔터티 양식을 표시할 수 없습니다.

다음 웹 리소스 중 하나를 사용하여 웹 리소스의 콘텐츠를 양식에 표시할 수 있습니다.

참고

Silverlight는 이전 버전과의 호환성에 포함되며 권장되지 않습니다.추가 정보:Silverlight(XAP) 웹 리소스

다음 섹션에서는 이러한 컨트롤에서 정적 콘텐츠를 더 많이 표시하려는 경우 사용할 수 있는 옵션에 대해 설명합니다.

이 항목의 내용

프레임 간 스크립팅을 제한할지 여부 선택

레코드에 대한 상황별 정보 전달

양식 데이터 전달

URL 변경

프레임 간 스크립팅을 제한할지 여부 선택

IFRAME에 표시되는 콘텐츠를 완전히 신뢰하지 않을 경우 지원되는 경우 프레임 간 스크립팅을 제한합니다. 옵션을 사용합니다. 이 옵션을 선택하면 IFRAME에는 다음 표에 나열된 특성 집합이 있습니다.

특성

설명

security=”restricted”

이 특성은 Internet Explorer 6 이상의 버전에서만 지원됩니다. 보안 특성은 사용자 보안 설정 제한된 사이트를 IFRAME의 원본 파일에 적용합니다. (영역 설정은 인터넷 옵션 대화 상자의 보안 탭에 있습니다.) 기본적으로 스크립팅은 제한된 사이트 영역에서 사용할 수 없습니다. 스크립트를 실행할 수 있는 것을 포함하여 영역의 보안 설정을 변경하면 다양한 부정적인 결과가 발생할 수 있습니다. 자세한 내용은 보안 특성을 참조하십시오.

sandbox=””

이 특성을 지원하는 브라우저의 경우 IFRAME의 콘텐츠가 정보만 표시하도록 기본적으로 제한됩니다. 다음 제한 사항이 적용될 수 있습니다.

  • 브라우저 플러그 인을 사용할 수 없습니다.

  • 양식 및 스크립트를 사용할 수 없습니다.

  • 다른 검색 컨텍스트에 대한 링크를 사용할 수 없습니다.

  • 콘텐츠는 도메인이 동일해도 다른 도메인의 콘텐츠로 처리됩니다.

이 특성은 W3C에서 정의되고 다음 브라우저에서 지원됩니다.

  • Internet Explorer 10, Internet Explorer 11 및 Microsoft Edge

  • Google Chrome

  • Apple Safari

  • Mozilla Firefox

샌드박스 특성에 대한 자세한 내용은 다음을 참조하십시오.

도메인에서 IFRAME 통신 사용

다른 도메인의 콘텐츠가 포함된 IFRAME에 대한 통신을 활성화하려는 경우가 있습니다.Window.postMessage는 Internet Explorer 8 이상의 Internet Explorer 버전의 이 기능을 제공하는 브라우저 메서드입니다.Google Chrome, Mozilla Firefox 및 Apple Safari도 지원합니다.postMessage 사용에 대한 자세한 내용은 다음 블로그 게시물을 참조하십시오.

레코드에 대한 상황별 정보 전달

매개 변수를 컨트롤에 정의된 URL에 전달하여 상황별 정보를 제공할 수 있습니다. 프레임에 표시되는 페이지는 전달된 매개 변수를 처리할 수 있어야 합니다. 다음 표에 있는 모든 매개 변수는 IFRAME 또는 웹 리소스가 P레코드 개체 유형 코드 및 고유 식별자를 매개 변수로 전달합니다. 옵션을 사용하여 구성된 경우 전달됩니다. 해당 양식 XML 요소는 <PassParameters> (FormXml)입니다.

다음 표에 있는 모든 매개 변수를 전달할지 여부를 지정할 수 있습니다.

매개 변수

이름

설명

typename

엔터티 이름

엔터티의 이름입니다.

type

엔터티 유형 코드

특정 조직에서 엔터티를 고유하게 식별하는 정수입니다.

id

개체 GUID

레코드를 나타내는 GUID입니다.

orgname

조직 이름

조직의 고유한 이름입니다.

userlcid

사용자 언어 코드

현재 사용자가 사용 중인 언어 코드 식별자입니다.

orglcid

조직 언어 코드

조직의 기본 언어를 표시하는 언어 코드 식별자입니다.

언어 코드는 4-5자리 로캘 ID입니다. 유효한 로캘 ID 값은 LCID(로캘 ID) 차트에서 확인할 수 있습니다.

참고

사용자 지정 엔터티에 대한 엔터티 유형 코드는 Microsoft Dynamics 365 조직 간에 다를 수 있을 수 있으므로 유형 코드 대신 엔터티 이름을 사용하는 것이 좋습니다.

예제

다음 샘플에서는 매개 변수 없는 URL을 보여 줍니다.

http://myserver/mypage.aspx

다음 샘플에서는 매개 변수 있는 URL을 보여 줍니다.

http://myserver/mypage.aspx?id=%7bB2232821-A775-DF11-8DD1-00155DBA3809%7d&orglcid=1033&orgname=adventureworkscycle&type=1&typename=account&userlcid=1033

전달된 매개 변수 읽기

전달된 매개 변수는 보통 HttpRequest.QueryString 속성을 사용하여 대상 .aspx 페이지에서 읽습니다.HTML 페이지에서 매개 변수는 JavaScript에서 window.location.search 속성을 사용하여 액세스할 수 있습니다. 자세한 내용은 HttpRequest.QueryString 속성search 속성을 참조하십시오.

양식 데이터 전달

다른 웹 사이트로 전달하려는 데이터가 포함된 특성에서 getValue 메서드를 사용하고, 다른 페이지에서 사용할 수 있는 쿼리 문자열 인수의 문자열을 구성합니다. 그런 다음 Field OnChange 이벤트, IFRAME OnReadyStateComplete 이벤트 또는 Tab TabStateChange 이벤트setSrc 메서드를 사용하여 IFRAME 또는 웹 리소스의 src 속성에 매개 변수를 추가합니다.

데이터를 Silverlight 웹 리소스에 전달하기 위해 데이터 매개 변수를 사용할 경우 getDatasetData 메서드를 사용하여 데이터 매개 변수를 통해 전달된 값을 조작할 수 있습니다. 웹 페이지(HTML) 웹 리소스의 경우 setSrc 메서드를 사용하여 querystring 매개 변수를 직접 조작합니다.

OnLoad 이벤트.IFRAMES를 사용하지 마십시오. Onload 및 웹 리소스는 비동기적으로 로드하므로 이벤트 스크립트가 완료되기 전에 프레임 로드를 완료하지 못할 수 있습니다. 따라서 변경한 IFRAME 또는 웹 리소스의 src 속성을 IFRAME 또는 웹 리소스 URL 속성의 기본값으로 덮어쓸 수 있습니다.

URL 변경

양식의 데이터 또는 사용자가 오프라인에서 작업하는지 여부와 같은 고려 사항에 따라 IFRAME의 대상을 변경할 수 있습니다.IFRAME의 대상을 동적으로 설정할 수 있습니다.

참고

IFRAME에 대한 대상 페이지를 변경하면 매개 변수는 새 URL로 자동으로 전달되지 않습니다.setSrc 메서드를 사용하기 전에 쿼리 문자열 매개 변수를 URL에 추가해야 합니다.

예제

다음 샘플에서는 옵션 집합 필드의 onChange 이벤트를 사용하여 IFRAME에 대한 src 속성과 매개 변수를 설정하는 방법을 보여 줍니다.

//Get the value of an option set attribute
var value = Xrm.Page.data.entity.attributes.get("new_pagechooser").getValue();
var newTarget = "";
//Set the target based on the value of the option set
switch (value) {
    case 100000001:
        newTarget = "http://myServer/test/pageOne.aspx";
        break;
    default:
        newTarget = "http://myServer/test/pageTwo.aspx";
        break;
}
//Get the default URL for the IFRAME, which includes the 
// query string parameters
var IFrame = Xrm.Page.ui.controls.get("IFRAME_test");
var Url = IFrame.getSrc();
// Capture the parameters
var params = Url.substr(Url.indexOf("?"));
//Append the parameters to the new page URL
newTarget = newTarget + params;
// Use the setSrc method so that the IFRAME uses the
// new page with the existing parameters
IFrame.setSrc(newTarget);

참고 항목

Microsoft Dynamics 365 양식용 코드 작성
Microsoft Dynamics 365에서 JavaScript 사용
양식 스크립팅 빠른 참조

Microsoft Dynamics 365

© 2017 Microsoft. All rights reserved. 저작권 정보