[英]alternative for HTML5 NavigationTiming on older browsers (IE8, IE7, IE6)?
[英]HTML5 Audio not working in ie7 or ie8
在IE7 / 8中測試時,我的腳本崩潰,我收到此錯誤...
SCRIPT438:對象不支持屬性或方法'play'
我正在使用HTML5音頻標簽在我的網頁上嵌入和播放音頻。
<div id="auido-container">
<audio id="music" loop="loop">
<source src="audio/holiday-for-mr-anderson-60secs.mp3"></source>
<source src="audio/holiday-for-mr-anderson-60secs.ogg"></source>
Your browser isn't invited for super fun audio time.
</audio>
<audio id="sound">
<source src="audio/pop.mp3"></source>
<source src="audio/pop.ogg"></source>
Your browser isn't invited for super fun audio time.
</audio>
</div>
我的JS看起來像這樣:
start.click(function(){
audio.play();
});
我把它包含在我的標題中:
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
有誰知道任何解決方案或修復?
包括IE7 / 8在內的許多舊版瀏覽器都沒有(完全)支持HTML 5。
您可以使用Modernizr檢測當前瀏覽器是否支持音頻。
有許多功能的polyfill包括音頻,可以添加對缺少功能的支持
https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-browser-Polyfills
(向下滾動到“音頻”部分以獲取選項)
polyfills適用於各種支持的瀏覽器和瀏覽器版本。
我有一個類似的問題,這是我如何修復它(這現在在IE8中工作,也播放WAV文件!)。 訣竅是為HTML5兼容的瀏覽器使用音頻標簽,並為舊的IE瀏覽器嵌入標簽。
在HTML頁面中創建兩個元素:
<audio id="audiotag" src="images/beep-03.wav" preload="auto"></audio>
<embed id="audiotagII" src='images/beep-03.wav' autostart='false' loop='false' width='2' height='0'></embed>
以下是在舊版和新版瀏覽器中播放聲音的JavaScript部分:
//Returns the version of Windows Internet Explorer or a -1. Available on the Internet!
function getInternetExplorerVersion()
{
var rv = -1; // Return value assumes failure.
if (navigator.appName == 'Microsoft Internet Explorer') {
var ua = navigator.userAgent;
var re = new RegExp("MSIE ([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null)
rv = parseFloat(RegExp.$1);
}
return rv;
}
var browserVer = getInternetExplorerVersion();
if (browserVer > -1 && browserVer < 9) {
document.getElementById('audiotagII').play();
} else {
document.getElementById('audiotag').play();
}
謝謝!
如果瀏覽器不支持HTML5音頻,那么除了使用這些瀏覽器的替代品之外,您無能為力。 根據w3schools:
Internet Explorer 8及更早版本不支持該元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.