JavaScript / HTML - 新的音频JavaScript在IE 8中失败了吗?

时间:2013-03-25 18:16:21

标签: javascript html audio

我该如何解决这个问题?例如:


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

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

snd.play()

2 个答案:

答案 0 :(得分:2)

如果您检测到特征(支持的类型), 你的脚本不会在其他浏览器(手机等)中引发错误, 那不支持音频。

你可以使它成为crossbrowser条件,即。

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

或考虑使用Modernizr

答案 1 :(得分: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脚本。