[javascript] iframe이 jQuery에서로드를 마쳤을 때 이벤트를 발생시키는 방법은 무엇입니까?
페이지 내에서 PDF를로드해야합니다.
이상적으로는 PDF가로드되면 대체되는 로딩 애니메이션 gif를 갖고 싶습니다.
답변
나는 그것을 할 수 없다고 확신합니다.
PDF 이외의 거의 모든 것, 심지어 Flash도 작동합니다. (Safari, Firefox 3, IE 7에서 테스트 됨)
안 됐네요.
답변
시도해 보셨습니까?
$("#iFrameId").on("load", function () {
// do something once the iframe is loaded
});
답변
이것은 나를 위해 해냈습니다 (pdf가 아니라 또 다른 ” onload
저항”내용).
<iframe id="frameid" src="page.aspx"></iframe>
<script language="javascript">
iframe = document.getElementById("frameid");
WaitForIFrame();
function WaitForIFrame() {
if (iframe.readyState != "complete") {
setTimeout("WaitForIFrame();", 200);
} else {
done();
}
}
function done() {
//some code after iframe has been loaded
}
</script>
도움이 되었기를 바랍니다.
답변
나는 이것을 시도하고 있고 나를 위해 일하는 것 같습니다 :
http://jsfiddle.net/aamir/BXe8C/
더 큰 pdf 파일 :
http://jsfiddle.net/aamir/BXe8C/1/
답변
$("#iFrameId").ready(function (){
// do something once the iframe is loaded
});
대신 .ready를 시도 했습니까?
답변
나는 이것에 대한 즉각적인 접근 방식을 시도했지만 PDF 콘텐츠에 대해서는 테스트하지 않았지만 일반 HTML 기반 콘텐츠에 대해서는 작동했습니다. 방법은 다음과 같습니다.
1 단계 : Iframe을 div 래퍼로 래핑
2 단계 : div 래퍼에 배경 이미지를 추가합니다.
.wrapperdiv{
background-image:url(img/loading.gif);
background-repeat:no-repeat;
background-position:center center; /*Can place your loader where ever you like */
}
3 단계 : iframe 태그 추가 ALLOWTRANSPARENCY="false"
아이디어는 iframe이로드 된 후 iframe이로드 애니메이션을 덮을 때까지 래퍼 div에로드 애니메이션을 표시하는 것입니다.
시도 해봐.
답변
jquery Load와 Ready를 모두 사용하면 iframe이 진정으로 준비되었을 때 실제로 일치하지 않는 것 같습니다.
나는 이런 식으로 결국
$('#iframe').ready(function () {
$("#loader").fadeOut(2500, function (sender) {
$(sender).remove();
});
});
#loader는 스피너 gif가있는 iframe 위에 절대적으로 배치 된 div입니다.