2014-07-10 1 views
0

슬라이드 쇼 구현 작업을하고 있습니다. 더 나은 사용자 환경을 위해 이미지를 프리 페치해야합니다. 현재 숨겨진 img 태그를 사용하여 이미지로드를 트리거하고 있습니다. 그러나 사용자가 첫 번째 이미지에서 80 번째 이미지로 이동하면 첫 번째 이미지에 대해 시작된 프리 페치 이미지 요청이 취소되지 않습니다.자바 스크립트 만 사용하여 iframe 만들기

iframe을 사용하면 iframe 객체에 stop()을 호출하여 이전 이미지 세트로드를 중지 할 수 있습니다. 자바 스크립트를 사용하여 iframe을 만들기위한 규범은 내가 원하는 해달라고 나의 Iframe을 DOM에 추가 할 것을하고 싶지 해달라고

ifrm = document.createElement("IFRAME"); 

것으로 보인다. HTMLFrameElement이 있습니다. 그러나 나는 그것을 사용하는 방법을 잘 모르겠습니다.

내 질문은 어떻게 문서 객체에 액세스하지 않고 자바 스크립트에서 iframe을 만드는 것입니다.

+5

왜'document' 객체를 사용하는 것이 좋지 않습니까? –

+3

"iframe을 만들 수있는 도구가없는 iframe을 만들고 싶습니다." 합법적 인 것 같아. –

+2

@Teemu 그것이 숙제라면 그것은 잔인하거나 무의미한 선생님입니다. – joews

답변

2

예, document에 추가하지 않고 iframe을 만들 수 있지만 액세스 가능성은 iframe 요소 자체로 제한됩니다.

  • Unappended 요소는하지 parentElementparentNode
  • 당신이 (당신의 예에서 ifrm) iframe에 대한 참조를 잃게하는 경우가의 요소는
  • 당신은 내 창에 액세스 할 수 없습니다 영원히 사라지고있다 iframe 또는 iframe의 이벤트가 발생되지
  • onload로드 된 문서

예를 들어 src 또는 붙지 않은 크기 iframe을 변경할 수 있습니다. 네, 메인 페이지와 관련된 비동기 적으로 내용이로드됩니다.

+0

질문을 수정했습니다.그렇다면 iframe 요소를 만드는 방법은 무엇입니까? –

+0

@AnirudhanJ 당신의 예에서 정확히 어떻게했는지. iframe을 여러 변수 대신 배열에 저장하면됩니다. document 요소에 접근하지 않고 HTMLElement를 만들 수는 없지만 모든 요소는 문서 객체의 속성 일뿐입니다. HTMLFrameElement ('')는 더 이상 사용되지 않으며 프레임 세트와 함께 사용되었습니다. 그러나 여기에서 XY 문제가 있다고 생각합니다. iframe을 사용하는 것이 문제의 해결책은 아닙니다. 어쩌면 예제 코드를 사용하여 원래 문제에 대한 질문을 게시하는 것이 좋습니다. – Teemu

3

게시 한 코드가 해결책입니다.

document을 사용하지 않고도 동등한 코드를 작성할 수 없습니다. 왜 그렇게하고 싶습니까? document (또는 window)을 통해 제공되는 DOMJavascript's interface을 사용해야합니다.

jQuery 및 기타 DOM 인식 라이브러리를 사용하여 DOM API 호출을 추상화 할 수 있지만 커버 아래에는 모두 document 메서드가 호출됩니다.

+0

HTMLFrameElement 객체를 만들고 iframe으로 사용할 수 있습니까? 새로운 이미지()를 사용하여 자바 스크립트에서 이미지를 만드는 것과 같습니다. –

+0

저는 요소를 만드는 스타일에 익숙하지 않습니다. 어쩌면이 질문이 도움이 될 수 있을까요? http://stackoverflow.com/questions/6936071/where-are-constructors-such-as-new-image-and-new-option-documented – joews

관련 문제