HTML5에서는 왜 프레임이 더 이상 사용되지 않지만 iFrame은 사용되지 않습니까? 결국, 둘 사이에는 거의 차이가 없습니다. 많은 경우에 그들 중 하나를 사용하면 동일한 결과를 얻을 수 있습니다 (잘못되면 나를 용서하십시오)?
HTML5에서는 왜 프레임이 더 이상 사용되지 않지만 iFrame은 사용되지 않습니까? 결국, 둘 사이에는 거의 차이가 없습니다. 많은 경우에 그들 중 하나를 사용하면 동일한 결과를 얻을 수 있습니다 (잘못되면 나를 용서하십시오)?
답변:
게시물에 몇 가지 오해가 있습니다. 첫째, frame
및 frameset
요소는 HTML5에서 더 이상 사용되지 않으며 더 이상 사용되지 않습니다 (즉, 완전히 제거되었습니다).
둘째, frame
and frameset
요소는 요소와 같지 iframe
않으며 동일한 출력을 제공하지도 않습니다.
이 frameset
요소는 웹 페이지에 다른 문서 모델을 포함하는 수단으로 페이지의 본문 요소를 대체합니다. 유용성 및 접근성이 나쁘고 달성하려는 목표가 CSS 및 유비쿼터스 서버 측 개발로 완전히 대체되었습니다.
반면에 iframe
요소는 페이지 본문을 대체하지 않습니다. 콘텐츠 블록 내에 포함 된 새로운 브라우징 컨텍스트를 포함하는 수단으로 사용됩니다. 프레임 셋 모델과 동일한 사용성 또는 접근성 문제를 겪지 않으며 임베디드 브라우징 컨텍스트 (위젯이 가장 많은 예)를 포함해야하는 거의 모든 곳에서 사용됩니다. 1
iframe
HTML5에서 또한이 될 수 있다는 점에서 추가 기능에 소요 샌드 박스 부모 문서가 내에서 실행됩니다 결정할 수 있도록. 이렇게하면 신뢰할 수없는 내용을 포함 할 때 부모 문서 (및 부모 문서 방문자)에 대한 보안이 어느 정도 보장됩니다.
참고 1 :object
요소 는 요소와 다소 겹치지 iframe
만 다른 콘텐츠 모델 (주로 플러그인 용)을 가지고 있으며 자체 경고 세트가 있으며 iframe
요소에 샌드 박스 속성이 없습니다 .
프레임 세트는 종종 웹의 기본 원칙을 위반하는 방식으로 사용됩니다. 각 문서에는 단일 URL이 있습니다. 이로 인해 링크, 책갈피, 검색 엔진 등에 문제가 발생합니다.
프레임 세트의 일반적인 사용은 로고 또는 헤더가있는 상단의 프레임, 메뉴가있는 측면의 프레임 및 컨텐츠 프레임입니다. 그러나 검색 엔진은 개별 페이지의 색인을 생성하므로 Google에서 일부 페이지를 찾으면 프레임 세트없이 콘텐츠 페이지에 직접 연결되므로 탐색 기능이 손실됩니다. 링크 및 책갈피의 문제점은 일반적으로 프레임 세트 자체를 잃지 않고 프레임 세트 내의 특정 컨텐츠 페이지를 링크하거나 책갈피에 추가하려는 경우입니다. 그렇게하는 쉬운 방법은 없습니다.
프레임 세트가 처음에 인기를 얻은 이유는 스크롤하는 컨텐츠 영역이있는 정적으로 배치 된 헤더 및 메뉴를 허용했기 때문입니다. 그러나 오늘날 CSS를 사용하면 훨씬 쉽게 달성 할 수 있습니다. 또한 프레임을 사용하면 서버 측 코딩을 사용하지 않고도 여러 페이지에서 로고 및 메뉴와 같은 공통 요소를 사용할 수 있습니다. 이는 서버 측 코딩이 지루하고 오류가 발생하기 쉬운 (예 : CGI 스크립트) 시간에 이점이었으며 많은 호스트가 서버 측 스크립팅을 전혀 허용하지 않았습니다. 오늘날 CMS (Content Management Systems) 및 더 나은 서버 측 플랫폼으로 인해 서버 측에서 훨씬 더 잘 처리됩니다.
따라서 기본적으로 프레임 셋을 사용하면 이점이 없으며 많은 문제가 있습니다.
IFrame 은 프레임 세트와 동일한 방식으로 사용될 수 있으며,이 경우에도 동일한 문제가 발생합니다. 그러나 동일한 문제를 일으키지 않는 많은 합법적 인 iframe 사용이 있습니다.