您可以查看測試頁面here。HTML5視頻IE9與其他
我使用的解決方案SO here。
我也使用Modernizr javascript lib,如指定的發佈中所述。
問題是這樣的:頁面加載正常,我可以使用Crome,FireFox和Safari中的下拉菜單更改視頻剪輯播放。但是由於某些原因,在IE9中,儘管如果前一個視頻正在運行,視頻會隨着選擇而改變,但新視頻會以暫停狀態加載,即不會顯示「播放」按鈕,而是顯示「暫停」按鈕狀態。
這裏是我的代碼:HTML:
<video id="vidScreen" width="624" height="260" preload="auto" controls="controls"></video>
的Javascript:(初始視頻剪輯負載)
功能doMetaphorsInitialise(){ window.document.getElementById( 「metaphorsStyle」)禁用= false;
var targetMovie = window.document.getElementById("vidScreen");
targetMovie.volume = 1;
if (Modernizr.video && Modernizr.video.h264)
{
targetMovie.setAttribute("src", "inception/inception.mp4");
}
else if (Modernizr.video && Modernizr.video.ogg)
{
targetMovie.setAttribute("src", "inception/inception.ogg");
}
else if (Modernizr.video && Modernizr.video.webm)
{
targetMovie.setAttribute("src", "inception/inception.webm");
}
document.forms["metaphorsMenu"].reset();
}
的Javascript:(對於在下拉菜單中canges:
function doMetaphors()
{
var v = new Array();
v["what"] = [
"what/what.mp4",
"what/what.ogg",
"what/what.webm"
];
v["bullet"] = [
"bullet/bullet.mp4",
"bullet/bullet.ogg",
"bullet/bullet.webm"
];
v["seven"] = [
"seven/seven.mp4",
"seven/seven.ogg",
"seven/seven.webm"
];
v["anderson"] = [
"anderson/anderson.mp4",
"anderson/anderson.ogg",
"anderson/anderson.webm"
];
v["smith"] = [
"videos/video3.webmvp8.mp4",
"videos/video3.theora.ogg",
"videos/video3.mp4video.webm"
];
v["everything"] = [
"everything/everything.mp4",
"everything/everything.ogg",
"everything/everything.webm"
];
var menuID = window.document.getElementById("metaphorsStyle");
var getDestination = menuID[menuID.selectedIndex].value;
var targetMovie = window.document.getElementById("vidScreen");
if (Modernizr.video && Modernizr.video.h264)
{
targetMovie.setAttribute("src", v[getDestination][0]);
}
else if (Modernizr.video && Modernizr.video.ogg)
{
targetMovie.setAttribute("src", v[getDestination][1]);
}
else if (Modernizr.video && Modernizr.video.webm)
{
targetMovie.setAttribute("src", v[getDestination][2]);
}
//targetMovie.load();
}
我註釋掉targetMovie.load();是它似乎沒有必要,但即使它是不工作
我也有考慮:
targetMovie.addEventListener('loadeddata', initialiseControls, false);
所以在initialiseControls我可以切換播放/ PA使用按鈕,但沒有在網上找到任何信息。
希望我的查詢很清楚,不會太長。
真的會喜歡這方面的一些幫助。
非常感謝。
新聞:我現在已經在下拉菜單中的所有選項功能,所以你可以選擇任何項目,並見證我想改正在IE9中的行爲。再次感謝你。
我試過了,它說:showPlayButtonAndHidePauseButton();不是一個功能。我錯過了什麼嗎? – iTEgg 2012-03-26 15:03:06
http://www.w3.org/2010/05/video/mediaevents.html < - 顯示我提到的同樣的問題! :( – iTEgg 2012-03-26 15:07:23
來評論#1:與「showPlayButtonAndHidePauseButton()」我的意思是,這是你的邏輯應寫入的地方,所以用你更新控件的方式替換函數f.e. myPauseButton.hide(); myPlayButton。顯示() tcomment#2:應該說是什麼期望...即仍然解決方法應該工作 – longilong 2012-03-26 15:38:08