>  기사  >  웹 프론트엔드  >  JS iFrame의 느린 로딩을 해결하는 방법

JS iFrame의 느린 로딩을 해결하는 방법

高洛峰
高洛峰원래의
2017-01-12 11:05:412147검색

프로젝트에서 iframe을 동적으로 추가한 다음 추가된 iframe에서 관련 작업을 수행해야 하는 경우가 종종 있습니다. 왜 iframe이 느리게 로드되나요? 이 질문을 염두에 두고 이 글을 통해 공부하고 답을 찾아보자!

aaa.html

<HTML>
<HEAD>
<TITLE>aaa</TITLE>
</HEAD>
<BODY>
<IFRAME src="bbb.html" name=bbb width="100%" height="190"> </IFRAME>
<INPUT type="button" value="显示text控件值" onclick="alert(bbb.document.all.txt.value)"> 
<SCRIPT LANGUAGE="JavaScript">
alert(bbb.document.all.txt.value);
</SCRIPT>
</BODY>
</HTML>

bbb.html

<HTML>
<HEAD>
<TITLE>bbb</TITLE>
</HEAD>
<BODY>
<input type=text name=txt value="guoguo"> 
</BODY>
</HTML>

문제:

위의 aaa.html을 실행하여 값을 찾습니다. 경보코드를 직접 출력하지는 않지만, 버튼을 클릭하면 해당 값을 출력할 수 있습니다.

분석:

페이지가 로드되는 동안 iframe을 만나면 바로 해당 페이지로 이동하여 다음 콘텐츠를 로드한 다음 다시 돌아와 iframe을 로드합니다. 이는 iframe을 로드하기 위해 iframe을 발견할 때 다른 스레드를 여는 것으로 이해될 수도 있지만 시간이 많이 걸리는 새로운 IO 작업이 포함되므로 iframe 로드는 여전히 js 코드 실행보다 늦습니다. 페이지 하단에 있으므로 위의 문제가 발생합니다.

해결책:

js 코드에 지연을 추가하여(구체적인 지연 시간은 개인 경험에 따라 결정될 수 있음) iframe의 개체를 정상적으로 가져올 수 있습니다.

<SCRIPT LANGUAGE="JavaScript">
setTimeout("alert(bbb.document.all.txt.value)",1500);
</SCRIPT>

결론: 페이지에 iframe이 포함된 경우 js를 통해 iframe의 객체를 조작하려면 iframe이 로드될 때까지 기다렸다가 조작해야 합니다. 그렇지 않으면 원하는 객체를 얻을 수 없습니다. .

위는 편집자가 소개한 JS iFrame의 느린 로딩에 대한 해결책입니다. 동시에 PHP 중국어 웹사이트에 대한 귀하의 지원에도 도움이 되기를 바랍니다.

JS iFrame의 느린 로딩 문제를 해결하는 방법에 대한 더 많은 관련 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

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