[html] IFrame (HTML)은 더 이상 사용되지 않습니까? [닫은]

그것에 대해 모순 된 메시지를 받고 있지 않기를 바랍니다. 무수한 사이트에서 사용하기 때문에 지원이 중단 될 것이라고 상상할 수 없습니다.

이에 대한 몇 가지 추가 질문 :

  1. 이 태그를 단계적으로 제거해야하는 이유는 무엇입니까?
  2. 그것에 대한 대안이 있습니까?



답변

생각 에 W3C는 Strict HTML 및 XHTML doctype에서 iframe을 덤핑하는 데 총을 쐈습니다. 이론적으로는 <object>요소를 사용 하여 문서에 외부 개체를 추가 할 수 있지만 브라우저의 차이와 제한으로 인해 많은 개발자가이 요소를 시작하지 못했습니다. 훨씬 더 실용적인 HTML 5 (아직 초안 임)를 사용하면 iframe이 돌아 왔으며 seamless, 그리고 흥미로운 sandbox.


답변

에 대한 지원 <iframe>은 여전히 ​​HTML 5에 있으므로 가까운 장래에 변경되지 않을 것입니다.

다른 질문에 답하려면 :

  1. <iframe>s (일반적으로 프레임)는 대부분 사용자 친화적이지 않습니다.
    • URL을 통해 프레임의 콘텐츠에 쉽게 액세스 할 수 없습니다 (최소한 프레임 외부의 콘텐츠 손실없이).
    • 대부분의 “technophobe” 사용자는 프레임에 짜증을냅니다.
    • 내가 아는 한 브라우저에서 렌더링하는 데 더 느립니다.
  2. 대안으로는 동적 페이지 생성 (SSI, PHP, Rails 등)과 JavaScript / AJAX를 사용하여 <div>

명확하게 말하면 <iframe>인터페이스 요소 에 대해 이야기 하고 있습니다. Google Mail과 같은 다른 항목을로드하기위한 숨겨진 요소가 아닙니다.


답변

Iframe 페이지 레이아웃에 사용되지 않습니다 . 좋은 CSS 레이아웃 대신 절대 사용하지 마십시오. 테이블 기반 레이아웃이 더 좋습니다.

iframe을 사용하는 좋은 이유는 다음과 같습니다.

  • ads : 예를 들어 adwords는이 기술을 사용합니다. 캡슐화에 좋습니다. 광고 CSS는 페이지를 파괴하지 않습니다.
  • 숨겨진 iframe : 추적, ajax-alternative 등과 같은 수백 가지 유용한 항목에 사용할 수 있습니다.


답변

IFrame은 더 이상 사용되지 않지만 사용 이유는 거의 없습니다.

iframe을 사용하는 이유 :

  • 다른 도메인에서 다른 사람의 물건을 차단하는 데는 좋지만 원활하게 통합되지는 않습니다. (스타일 시트, 자바 스크립트 등)
  • 포함 태그를 사용하는 대신 iframe을 통해 멀티미디어 통합을 더 쉽게 수행 할 수 있습니다.
  • 실제로, gmail의 경우와 같이 사운드 및 기록 관리에 사용하는 정말 특수한 경우입니다.

나는 또한 iframe을 제거 할 필요가 없으며 필요한 태그이며 잠시 동안있을 것이라고 대답 할 것입니다.


답변

나는 대부분의 경우에 작동하는 IFrame의 대체물로 Object 태그를 제안하는 많은 포럼을 보았다.

예를 들어, IFrame에 PDF가 표시되고 (PDF 외에 페이지에 표시해야하는 다른 항목이 있기 때문에) Object를 사용하여 제대로 표시 할 수있었습니다.

뭐였 어:

<iframe id="confirmed_pdf" class="current_pdf" src="/prescriptions/show_pdf?id=123" height="570" width="480"></iframe>

되었습니다 :

<object id="confirmed_pdf" class="current_pdf" data="/prescriptions/show_pdf?id=123" type="application/pdf" height="570" width="480">
  <p>[Show this message if displaying the PDF did not work]</p>
</object>

그러나 Object는 페이지의 PDF 부분 만 인쇄 할 수 있어야한다는 요구 사항을 충족하기에 적합한 대체품이 아닙니다.

IFrame은 페이지 내의 자체 창 (기본적으로 창 내의 창)과 같으며 창 개체를 가져 오면 다음과 같이 .print ()를 호출 할 수 있습니다.

jQuery("#confirmed_pdf").contentWindow.print();

IFrame에는 contentWindow 속성이 있으므로 해당 부분 만 인쇄 할 수 있습니다. 개체에는 contentWindow 속성이 없으므로 페이지의 섹션 만 인쇄 할 수있는 방법이 없습니다.

따라서 IFrame을 사용하여 무언가를 표시하는 경우 대신 사용할 수있는 Object와 같은 다른 태그가있는 것 같습니다. 그러나 특정 방식으로 IFrame의 콘텐츠와 상호 작용해야하는 경우 IFrame이 필요할 수 있습니다.


답변

IFrame은 AJAX에서 많이 사용됩니다. 예를 들어 Gmail은 내가 믿는 9 개의 숨겨진 IFrame을 사용합니다.


답변

IFrame 은 죽지 않았지만 Frameset / Frame 은 죽어 가고 있습니다.

IE (IE7 / IE8) 의 지난 2 개 릴리스 에서 프레임 (IFrame이 아님)을 확대하면 재앙적인 결과가 발생했습니다.

반드시 IFrame을 사용하십시오. 그러나 IMHO는 프레임 셋 / 프레임으로부터 떨어져 있습니다.