iframe이 jQuery에서로드를 마쳤을 때 이벤트를 발생시키는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/30005

  •  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가 이러한 상황에 가장 적합하다고 생각합니다.

감사합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top