IFrame이 로드되었고 JavaScript에서 상호 작용할 준비가 되었는지 확실하게 확인하는 방법은 무엇입니까?

Mary-Kate Olsen
풀어 주다: 2024-10-25 02:50:02
원래의
855명이 탐색했습니다.

How to Reliably Check if an IFrame is Loaded and Ready for Interaction in JavaScript?

IFrame이 로드되었는지 또는 콘텐츠가 있는지 확인하는 방법

로드하는 데 다양한 시간이 걸릴 수 있는 iframe을 처리할 때, 로딩 상태를 결정하는 데 필요해집니다. 이 기사에서는 iframe이 로드되었는지 또는 콘텐츠가 있는지 확인하는 신뢰할 수 있는 솔루션을 제시합니다.

제공된 코드는 JavaScript의 setTimeout 기능을 활용하여 iframe의 상태를 주기적으로 확인합니다. 여기서 핵심은 재귀적 접근 방식을 사용하여 iframe의 readyState 속성을 ​​지속적으로 확인하는 checkIframeLoaded 함수에 있습니다.

다음에 표시된 대로 로드 프로세스가 완료되면 readyState 값이 "complete"이면 afterLoading 함수가 호출됩니다. 이 함수는 iframe이 로드된 후 원하는 작업을 수행합니다.

코드 조각은 다음과 같습니다.

<code class="javascript">function checkIframeLoaded() {
    // Get iframe element
    var iframe = document.getElementById('i_frame');
    var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;

    // Check loading status
    if (iframeDoc.readyState == 'complete') {
        // Loading complete, call afterLoading function
        afterLoading();
        return;
    } 

    // Not loaded, check again in 100 milliseconds
    window.setTimeout(checkIframeLoaded, 100);
}

function afterLoading(){
    alert("Iframe loaded");
}</code>
로그인 후 복사

이 솔루션을 사용하려면 HTML 본문 태그에 코드를 포함하거나 checkIframeLoaded iframe을 로드할 준비가 되면 수동으로 확인하세요. 이 접근 방식을 사용하면 다양한 iframe 로드 시간을 효과적으로 처리하고 iframe이 완전히 로드되거나 콘텐츠가 있으면 작업을 수행할 수 있습니다.

위 내용은 IFrame이 로드되었고 JavaScript에서 상호 작용할 준비가 되었는지 확실하게 확인하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿