반응형
꽤 자주 보지만 아직도 익숙하지 않은 Iframe에 대해 알아봅니다.
원문 링크입니다 : https://blog.logrocket.com/the-ultimate-guide-to-iframes/
iframe 요소(인라인 프레임의 줄임말)는 아마도 가장 오래된 HTML 태그 중 하나이며
1997년 Microsoft Internet Explorer에 HTML 4.01과 함께 도입되었습니다.
모든 최신 브라우저에서 지원하지만 많은 개발자가 사용하지 말라고 조언하는 기사를 끝없이 작성합니다.
나쁜 평판에도 불구하고 iframe은 쓸만한 사용 사례가 많이 있습니다.
게다가, 보안을 유지하는 것은 그리 어렵지 않으므로 사용자의 컴퓨터가 감염되는 것에 대해 걱정할 필요가 없습니다.
iframe에 대한 당신의 의견을 확립할 수 있도록, 그리고개발 기술을 연마하는 데 도움이 되도록
이 논란의 여지가 있는 태그에 대해 알아야 할 모든 필수 사항을 다룹니다.
iframe 요소가 제공하는 대부분의 기능을 살펴보고
이를 사용하는 방법과 iframe이 까다로운 상황을 극복하는 데 어떻게 유용할 수 있는지에 대해 설명합니다.
마지막으로 잠재적인 취약성을 피하기 위해 iframe을 보호하는 방법에 대해 이야기하겠습니다.
Iframe은 무엇인가요? 언제 사용하나요?
개발자는 주로 iframe 태그를 사용해 현재 문서 내에 다른 HTML 문서를 포함합니다.
타사 위젯(유명한 Facebook 좋아요 버튼 등), YouTube 동영상 또는 웹사이트의 광고 섹션을 포함해야 하는 경우
이 도구를 사용했을 수 있습니다.
예를 들어, 아래 코드는 500px 정사각형을 표시하며 그 안에 Google 홈페이지가 있습니다.
<iframe src="https://www.lgcns.com/" height="500px" width="500px"></iframe>
다음은 Twitter에서 웹 페이지를 트윗하는 버튼을 표시하는 또 다른 예입니다.
<iframe src="https://platform.twitter.com/widgets/tweet_button.html" style="border: 0; width:130px; height:20px;"></iframe>
염두에 두어야 할 점은
iframe 자신만의 탐색 컨텍스트와 함께 독립적인 HTML 문서를 포함할 수 있다는 것입니다.
즉, 부모의 JavaScript 및 CSS에서 격리됩니다.
이는 iframe을 사용하는 유효한 목적 중 하나입니다.
현재 페이지 웹 애플리케이션과 iframe 콘텐츠 간의 분리를 제공합니다.
그럼에도 불구하고 이 가이드에서 볼 수 있듯이 분리가 그렇게 완벽하지는 않습니다.
iframe은 여전히 성가시거나 악의적인 방식으로 작동할 수 있습니다.
예를 들어 팝업 트리거 또는 비디오 자동 재생입니다.
JavaScript 및 CSS로부터의 이러한 격리가 얼마나 편리한지 설명하기 위해 다음 두 가지 상황을 살펴보겠습니다.
애플리케이션에서 사용자는 이메일을 생성하고 템플릿으로 저장할 수 있습니다.
특정 페이지에서 사용자가 미리 보고 하나를 선택할 수 있도록 그 템플릿들을 나열해서 보여주어야 했습니다.
현재 웹 사이트의 CSS가 이러한 템플릿의 스타일에 영향을 미치지 않도록
srcdoc 속성과 함께 iframe을 사용하는 것이 가장 깔끔한 솔루션이라는 것을 알았습니다.
<iframe srcdoc="<html><body>The content you see here will never be affected by the CSS of its parent container. It supposed to be rendered in black on a white background.</body></html>"></iframe>