我有一個網頁使用html5編碼,使用標籤如header
,footer
, section
和video
。 我使用modernizr在IE 7和IE 8中支持這些標籤。與modernizr不工作的每個人的視頻?
頁面中有一個視頻,包括Flash後備(每個人的視頻)。
當我在IE 8中測試頁面時,頁面呈現良好,包括特定於html5的標籤。
問題是,視頻的閃回回退不起作用。我有一個黑色區域,而不是Flash播放器。
僅當我刪除腳本標記才能加載modernizr時,它纔有效。如果我構建不帶html5填充的modernizr自定義版本,Flash播放器會加載並可以播放視頻,但html5標記無法識別。
如何使用modernizr/html5 shim爲每個人使用視頻? 爲什麼它不工作?
感謝您的幫助
更新:
爲了更進一步詳細,我的網頁是基於html5boilerplate和使用mediaelementsjs玩家。
這裏的HTML代碼
<head>
...
<script src="js/libs/modernizr-2.0.6.min.js"></script>
...
</head>
<body>
...
<video width="332" height="250" poster="img/poster.jpg" controls="controls" preload="none">
<!-- MP4 for Safari, IE9, iPhone, iPad, Android, and Windows Phone 7 -->
<source type="video/mp4" src="video/myvideo.mp4" />
<!-- WebM/VP8 for Firefox4, Opera, and Chrome -->
<source type="video/webm" src="video/myvideo.webm" />
<!-- Flash fallback for non-HTML5 browsers without JavaScript -->
<object width="332" height="250" type="application/x-shockwave-flash" data="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf">
<param name="movie" value="http://releases.flowplayer.org/swf/flowplayer-3.2.1.swf">
<param name="allowFullScreen" value="true">
<param name="wmode" value="transparent">
<param name="flashVars" value="config={'playlist':['http://.../img/poster.jpg',{'url':'http://.../video/myvideo.mp4','autoPlay':false}]}">
<!-- Image as a last resort -->
<img src="img/poster.jpg" width="320" height="240" title="Your browser doesn't support video" />
</object>
</video>
...
<script defer src="js/plugins.js"></script>
<script defer src="js/script.js"></script>
</body>
什麼是的script.js
$(function() {
if($.browser.msie && $.browser.version.substr(0,1)<=7) {
// $("video, audio").mediaelementplayer({defaultVideoWidth: 332,defaultVideoHeight: 250, features: ['playpause','progress','current','duration','volume','fullscreen']});
}
else {
// initialize scrollable
$(".scrollable").scrollable({circular: true, mousewheel: true}).navigator();
$("video, audio").mediaelementplayer({defaultVideoWidth: 332,defaultVideoHeight: 250, features: ['playpause','progress','current','duration','volume','fullscreen']});
}
});
的plugins.js文件中包含的代碼的MediaElement和-player.min.js https://github.com/johndyer/mediaelement/blob/master/build/mediaelement-and-player.js
只有當我評論該行才能加載modernizr時,它才能在IE 8中運行。
如果您包含一些代碼或將其發佈到這裏http://jsfiddle.net/,這將幫助人們幫助您...... – ManseUK
似乎有點困惑,爲什麼使用MediaElementJs如果您手動指定閃回備份播放器和使用其他玩家? MEJS是一個包含閃存組件的墊片...無論如何,是不是因爲你所包含的swf可能不在同一個域中?另外,腳本中的msie和版本檢查不是首先打敗了功能墊片的目的?如果你使用modernizr,視頻標籤突然被支持,而內部的對象標籤會作出不同的反應,那麼他們是不是應該使用noscript標籤作爲非腳本瀏覽器的解決方法...我的頭部正在旋轉^^ –