iframe이 jQuery에서로드를 마쳤을 때 이벤트를 발생시키는 방법은 무엇입니까?
-
09-06-2019 - |
문제
페이지 내에서 PDF를로드해야합니다.
이상적으로는 PDF가로드되면 대체되는 로딩 애니메이션 gif를 갖고 싶습니다.
해결책
나는 그렇게 할 수 없다고 확신합니다.
PDF가 아닌 거의 모든 것이 작동합니다. Flash도 마찬가지입니다.(Safari, Firefox 3, IE 7에서 테스트 됨)
너무 나쁩니다.
다른 팁
해 본 적이 있으십니까 : 라코 디스
이 작업을 수행했습니다 (pdf가 아니라 "onload
내성"콘텐츠).
라코 디스
도움이 되었기를 바랍니다.
나는 이것을 시도하고 있으며 나를 위해 일하는 것 같습니다. http://jsfiddle.net/aamir/BXe8C/
더 큰 pdf 파일 : http://jsfiddle.net/aamir/BXe8C/1/
대신 .ready를 사용해 보셨습니까?
이에 대한 기본 접근 방식을 시도했지만 PDF 콘텐츠에 대해서는 테스트하지 않았지만 일반 HTML 기반 콘텐츠에 대해서는 작동했습니다. 방법은 다음과 같습니다.
1 단계 : div 래퍼로 Iframe 래핑
2 단계 : div 래퍼에 배경 이미지 추가 : 라코 디스
3 단계 : iframe 태그에 ALLOWTRANSPARENCY="false"
추가
이 아이디어는 iframe이로드 된 후 iframe이로드 애니메이션을 덮을 때까지 iframe이로드 될 때까지 래퍼 div에로드 애니메이션을 표시하는 것입니다.
한 번 사용해보세요.
jquery Load와 Ready를 모두 사용하면 iframe이 완전히 준비되었을 때 실제로 일치하지 않는 것 같습니다.
결국 이렇게 했어요 라코 디스
여기서 #loader는 스피너 gif가있는 iframe 위에 절대적으로 배치 된 div입니다.
@Alex 아, 정말 안타깝 네요.iframe
에 다음과 같은 html 문서가 있다면 어떨까요?
라코 디스
확실히 해킹이지만 Firefox에서는 작동 할 수 있습니다.이 경우 load 이벤트가 너무 빨리 실행되는지 궁금합니다.
다음은 내가 수행하는 모든 작업이며 Firefox, IE, Opera 및 Safari에서 작동합니다. 라코 디스
iFrame의 pdf가로드되는 동안 로더를 표시해야했기 때문에 다음과 같은 결과를 얻었습니다. 라코 디스
로더를 보여주고 있습니다.고객이 내 로더를 볼 수 있다고 확신하면 iframe을로드하는 onCompllet 로더 메서드를 호출합니다.Iframe에는 "onLoad"이벤트가 있습니다.PDF가로드되면 로더를 숨기는 onloat 이벤트를 트리거합니다. :)
중요한 부분 :
iFrame에는 필요한 작업을 수행 할 수있는 "onLoad"이벤트가 있습니다 (로더 숨기기 등).
다운로드가 완료되면 브라우저의 열기 / 저장 인터페이스가 사용자에게 표시 될 것으로 예상 할 수 있다면 다운로드를 시작할 때 다음을 실행할 수 있습니다. 라코 디스
대화가 페이지 상단에 표시되면 흐림 이벤트가 트리거됩니다.
pdf 파일이로드 된 후 iframe 문서에 새 DOM 요소 <embed/>
가 있으므로 다음과 같이 확인할 수 있습니다.
라코 디스
이 상황에 적용한 솔루션은 DOM에 절대 로딩 이미지를 배치하는 것입니다.이 이미지는 iframe이로드 된 후 iframe 레이어에 포함됩니다.
iframe의 Z- 색인은 (로드 중 Z- 색인 + 1) 이상이어야합니다.
예 : 라코 디스
JavaScript 솔루션이 없다면 도움이되기를 바랍니다.CSS가 이러한 상황에 가장 적합하다고 생각합니다.
감사합니다.