HTML5에서 프레임이 제거되었지만 iFrame은 제거되지 않은 이유는 무엇입니까? 결국 둘 사이에는 거의 차이가 없습니다. 대부분의 경우 둘 중 하나를 사용하면 동일한 결과를 얻을 수 있습니까?

댓글

답변

게시물에 몇 가지 오해가 있습니다. 첫째, frameframeset 요소는 HTML5에서 더 이상 사용되지 않으며 “ 사용되지 않음 (즉, 완전히 제거되었습니다).

둘째, frame

요소는 iframe 요소와 동일하지 않으며 동일한 출력을 제공하지도 않습니다.

  • frameset 요소는 웹 페이지에 대해 다른 문서 모델을 포함하기위한 수단으로 페이지의 본문 요소를 대체합니다. 이러한 요소는 사용 성과 접근성 및 의도 한 바에 좋지 않습니다. CSS 및 유비쿼터스 서버 측 개발로 완전히 대체되었습니다.

  • iframe 요소는 페이지 본문을 대체하지 마십시오. 콘텐츠 블록 내에 포함 된 새로운 브라우징 컨텍스트를 포함하는 수단으로 작동합니다. 프레임 셋 모델과 동일한 사용성 또는 접근성 문제가 발생하지 않으며 임베디드 브라우징 컨텍스트를 포함해야하는 거의 모든 곳에서 사용됩니다 (위젯이 가장 많은 예임). 1

HTML5의 iframe 샌드 박스

할 수 있다는 점에서 추가 기능을 수행합니다. a>, 부모 문서가 그 안에서 실행되는 것을 결정할 수 있도록합니다. 이를 통해 신뢰할 수없는 콘텐츠를 포함 할 때 상위 문서 (및 상위 문서 방문자)에 대한 보안 조치를 취할 수 있습니다.


참고

참고 1 : object 요소는 iframe 요소와 다소 겹치지 만 다른 콘텐츠 모델 (주로 플러그인 용)을 가지고 있습니다. 자체주의 사항이 있으며 “iframe 요소에있는 샌드 박싱 속성이 없습니다.

댓글

답변

프레임 세트는 종종 기본 원칙을 위반하는 방식으로 사용됩니다. 웹-각 문서에는 단일 URL이 있습니다. 이로 인해 링크, 북마크, 검색 엔진 등에 문제가 발생합니다.

프레임 셋의 일반적인 용도는 로고 또는 헤더가있는 상단의 프레임, 메뉴가있는 측면의 프레임, 콘텐츠 프레임. 그러나 검색 엔진은 개별 페이지의 색인을 생성하므로 Google에서 일부 페이지를 찾으면 프레임 셋이없는 콘텐츠 페이지로 직접 링크되므로 탐색 기능을 잃게됩니다.링크 및 북마크의 문제는 일반적으로 프레임 세트 자체를 잃지 않고 프레임 세트 내의 특정 콘텐츠 페이지를 링크하거나 북마크하려는 것입니다. 그렇게하는 것은 쉬운 방법이 아닙니다.

애초에 프레임 세트가 인기를 얻은 이유는 스크롤링 콘텐츠 영역이있는 정적으로 배치 된 헤더와 메뉴를 허용했기 때문입니다. 그러나 그것은 오늘날 CSS로 훨씬 쉽게 달성 할 수 있습니다. 또한 프레임을 사용하면 서버 측 코딩을 사용하지 않고도 여러 페이지에서 로고 및 메뉴와 같은 공통 요소를 사용할 수 있습니다. 이것은 서버 측 코딩이 지루하고 오류가 발생하기 쉬우 며 (예 : CGI 스크립트) 많은 호스트가 서버 측 스크립팅을 전혀 허용하지 않았을 때 이점이었습니다. 오늘날 컨텐츠 관리 시스템 (CMS)과 더 나은 서버 측 플랫폼에서, 이것은 서버 측에서 훨씬 더 잘 처리됩니다.

따라서 기본적으로 프레임 셋을 사용하는 것에는 이점이 없으며 많은 문제가 있습니다.

IFrame은 할 수 있습니다 프레임 셋이 사용 된 것과 동일한 방식으로 사용되며이 경우에도 동일한 문제가 발생합니다. 그러나 동일한 문제를 일으키지 않는 iframe의 합법적 인 사용도 많습니다.

Answer

프레임 (프레임 세트)은 문서 역할을합니다. HTML 문서 구조 및 탐색을 손상 시키므로 제거되었습니다. 예 : 한 프레임에는 링크가 있고 다른 프레임에는 콘텐츠가 있으며, “새 창에서 페이지의 링크를 열 수없고, 특정 하위 페이지에 링크 할 수없는 등”

다른 프레임에는 hand iframe은 콘텐츠 (예 : 광고)를 샌드 박스 화하기 때문에 “올바르게 사용하면 아무 것도 깨지지 않습니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다