2011-01-31 1 views
0

진행중인 사이트에 대해 MediaElement.js를 HTML5 비디오 플레이어로 사용하고 있습니다. 크롬, 사파리, 파이어 폭스에서 폴백 플레이어와도 잘 작동하지만 Internet Explorer에서 여기에 보이는 자바 스크립트 오류가 발생합니다 : http://d.pr/Jsfo. 내 포스터 나 플레이어 스타일 (다른 브라우저에서는 잘 작동)을로드하는 것 같지 않습니다.Mediaelement.js IE에서 자바 스크립트 오류

라이트 박스에 표시되고 페이지에서 재생할 수있는 여러 동영상이 있으므로 플레이어 코드가 동적으로로드되고 있습니다. HTML을 주입 자바 스크립트는 자신의 둥지를 나누기 때문에 동적으로 IE에서 HTML5 태그를 삽입 할 수 없습니다,

당신은 개발 사이트는 불행하게도 http://mindsmack.ryangiglio.com

답변

10

에서 살고 볼 수있는 페이지의 하단에

<video> 
    <source src="file.mp4"> 
    <source src="file.webm"> 
</video> 

<video /> 
<source src="file.mp4"> 
<source src="file.webm"> 

된다 그리고 소스 파일이있는 곳 다음 MediaElement.js는 알아낼 수 없습니다.

나의 추천은 MediaElement에 객체

var player = new MediaElementPlayer('#video'); 
하고, 비디오를 재생 할 준비가되면 다음 그냥 전화를 한 후, 페이지에 영구적 인 자리에 <video> 태그를 넣어 준비하는 것입니다

IE 사용자가 자바 스크립트가 활성화되어 있지 않으며, 앱이 자바 스크립트를 필요로하는 경우 그 경우에만 이후
// single MP4 
player.setSrc('newfile.mp4'); 

// OR multiple 
player.setSrc([{src:'newfile.mp4',type:'video/mp3'},{src:'newfile.webm',type:'video/webm'}]); 

// load and play 
player.load(); 
player.play(); 

또한, 당신은 <video> 태그 내부의 <object> 임베드 HTML을 제거해야합니다.

+0

해당 HTML5 IE 오류를 잊어 버렸습니다. 실제로 문제를 해결하는 훌륭한 자바 스크립트가 있습니다 : http://jdbartlett.github.com/innershiv/. 함수 호출을 추가하는 것 외에 다른 코드를 변경하지 않고 고정시켰다. –

+0

다행입니다. 나는 비슷한 것을하고 있다면 다른 사람들을 가리 키도록 할 것입니다. –