2010-12-08 5 views
1

이미지가 표시되는 html 페이지가 있습니다. 그것은 지연되고, 비디오로 변경되고, 비디오가 재생 된 후 이미지로 다시 변경됩니다. 이것은 내가 사용하는 자바 스크립트입니다 :왜 Firefox에서 javascript document.write가 작동하지 않습니까?

<script type="text/javascript"> 
function playVideo(){ 
var str='**html of the video object**'; 
document.open(); 
document.write(str); 
document.close(); 
} 
function backToImage(){ 
var str='**html of the image**'; 
document.open(); 
document.write(str); 
document.close(); 
} 
setTimeout("playVideo()",1000); 
setTimeout("backToImage()",3000); 

</script> 

이 자바 스크립트는 크롬과 사파리에서 작동합니다. 그것은 주로 IE에서 작동합니다 (두 번째 타임 아웃이 작동하지 않지만 방금 발견했습니다). Firefox에서는 전혀 작동하지 않습니다. 지체가 없습니다. 동영상이 단순히 재생되기 시작하며 이미지가 표시되지 않습니다. 전후.

이것에 대한 의견은 훌륭합니다.

편집 : 그래서 document.write가 비난하는 것 같습니다. 이것을 반영하기 위해 제목을 바꿉니다.

내 원래 질문이 분명하지 않은 경우, 내가 찾고있는 것은 이미지를 비디오로 바꾸고 비디오로 바꾸는 것입니다. 이 모든 iframe에로드됩니다, 그래서 실제로 html로 변경하려면 document.write (또는 이와 비슷한) 사용해야합니다.

+0

@slomojo 투명한 부분 (완전한 청산을) 구현 방법이다. – user113716

+0

아, 문서를 쓰다가 쓰는 것을 보았습니다. – ocodo

답변

5

페이지가 이미로드 된 후 document.write을 사용하면 조금 이상합니다. 이것은 실제로 페이지를로드 할 때만 생성되어야합니다. 대신이 같은 것을보십시오 :

<html> 
    <head> 
    <script type="text/javascript"> 

     function playVideo(){ 
     var str='**html of the video object**'; 
     document.getElementById('video-placeholder').innerHTML = str; 
     } 
     function backToImage(){ 
     var str='**html of the image**'; 
     document.getElementById('image-placeholder').innerHTML = str; 
     } 
     setTimeout(playVideo, 1000); 
     setTimeout(backToImage, 3000); 

    </script> 
    </head> 
    <body> 
    <div id="video-placeholder"></div> 
    <div id="image-placeholder"></div> 
    </body> 
</html> 
+0

나는 당신을 이해한다고 생각하지 않는다. document.write를 사용하여 이미지를 비디오로 대체하려고합니다. 그런 다음 비디오로 비디오를 대체하십시오. 내가 이것을 정확하게 읽는다면, 이것으로 그것들을 모두 보여줄 것입니다. – psolms

+0

@psolms를 사용하면 단일 div를 사용하여 두 함수에서 모두 타겟팅 할 수 있습니다. –

+0

@ gaby- ahhhhh .. 고마워. 나는 그것을 생각하지 않았다. @ jacob- 오해하면 미안 해요 – psolms

3

가능성이 가장 높은 문제는 완전히뿐만 아니라, 그 과정에서 현재의 시간 제한을 삭제, 그것을 클리어 문서의 열기/쓰기 닫는입니다.

으로는
열기 열린 Document Object Model HTML

쓰기 문서 스트림 지적했다. 문서가 대상에있는 경우이 방법 을 삭제합니다. 그들이 것으로 나타나는 미세 한 기능이 전역으로 정의 될 때 작동합니다 문자열 함수 호출의 :

이 파이어 폭스가

+0

+1 나에게 의미가 있습니다. – user113716

관련 문제