>  기사  >  웹 프론트엔드  >  iFrame이 로드되었고 콘텐츠가 포함되어 있는지 확인하는 방법은 무엇입니까?

iFrame이 로드되었고 콘텐츠가 포함되어 있는지 확인하는 방법은 무엇입니까?

DDD
DDD원래의
2024-10-24 20:06:02811검색

How to Determine if an iFrame Has Loaded and Contains Content?

iFrame 로드 또는 콘텐츠 존재 여부를 확인하는 방법

문제:

방법을 찾고 있습니다. 표준 접근 방식으로는 충분하지 않을 수 있으므로 iFrame이 콘텐츠를 성공적으로 로드했거나 포함했는지 확인합니다. 로드된 상태를 확인하는 것은 특정 작업을 트리거하거나 로드하는 데 과도한 시간이 걸리는 시나리오를 처리하는 데 중요합니다.

해결책:

이 문제를 효과적으로 해결하려면 다음 접근 방식을 고려하세요.

<script><br>function checkIframeLoaded() {</p>
<pre class="brush:php;toolbar:false">// Obtain the iFrame element
var iframe = document.getElementById('i_frame');
var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

// Evaluate loading status
if (  iframeDoc.readyState  == 'complete' ) {
    // Loading is completed; execute desired functionality
    afterLoading();
    return;
} 

// Loading is incomplete; re-check in 100 milliseconds
window.setTimeout(checkIframeLoaded, 100);

}

function afterLoading(){

alert("I am here");

}


이 스크립트는 다음과 같이 작동합니다.

  1. iFrame 요소 얻기: 스크립트는 ID로 iFrame 요소를 찾습니다.
  2. 로드 상태 확인: iFrame의 ReadyState 속성을 검사합니다. '완료'로 설정하면 로딩이 완료되었음을 나타내고 afterLoading() 함수가 트리거됩니다.
  3. 재귀 검사: 로딩이 완료되지 않은 경우 스크립트는 다시 로딩하기 전에 100밀리초를 기다립니다. iFrame의 상태를 평가합니다. 이러한 재귀 접근 방식을 사용하면 로드가 완료될 때까지 스크립트가 주기적으로 확인합니다.
  4. 사용자 정의 함수 실행: 완료되면 afterLoading() 함수를 사용하여 다음과 같은 원하는 작업을 수행할 수 있습니다. 알림을 표시하거나 로드된 콘텐츠를 추가로 처리합니다.

위 내용은 iFrame이 로드되었고 콘텐츠가 포함되어 있는지 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.