2013-03-25 63 views
2

我該如何解決這個問題?例如:JavaScript/HTML - 新的音頻JavaScript在IE 8及更低版本中失敗?


snd = new Audio("foo/bar.wav") 

alert("abc") //in IE this line wont run??! 

snd.play() 
+0

可能重複的[HTML5音頻不工作在ie7或ie8](http://stackoverflow.com/questions/13827637/html5-audio-not-working-in-ie7-or-ie8) – Ian 2013-03-25 18:20:41

+0

ik,但無論如何修復那條線? – 2013-03-25 18:22:40

+0

alert()會在IE中正常工作。 – Mooseman 2013-03-25 18:28:05

回答

2

如果您檢測到feauture(支持的類型), 您的腳本不會在其他不支持音頻的瀏覽器(手機等), 中發生錯誤。

你可以使它交叉瀏覽器條件即。

if (typeof window.Audio != 'undefined') { 
    /* var snd = new Audio("foo/bar.wav"); ... */ 
} 

或考慮使用Modernizr

0

IE8-不支持<audio>元素。見http://caniuse.com/#feat=audio。如果可以分開你的腳本,你可以這樣做:

<!--[if lte IE 8]> 
    <script> 
    alert("Old IE."); 
    </script> 
<![endif]--> 
<!--[if IE 9]> 
    <script> 
    snd = new Audio("foo/bar.wav"); 
    alert("IE9"); 
    snd.play() 
    </script> 
<![endif]--> 
<!--[if !IE]> --> 
    <script> 
    snd = new Audio("foo/bar.wav"); 
    alert("Not IE (Or IE10+)"); 
    snd.play() 
    </script> 
<!-- <![endif]--> 

IE10完全下降有條件的意見,所以它會使用!IE腳本。

+0

是的,但我怎麼才能讓IE只忽略那一行呢? – 2013-03-25 18:20:08

+0

所以它不會卡在那條線 – 2013-03-25 18:20:25

+0

哪條線,控制檯或音頻? IE8也不會理解。 – j08691 2013-03-25 18:20:59

相關問題