JavaScript / HTML -新的音频JavaScript在ie8及以下版本中失败

JavaScript / HTML - new Audio JavaScript fails in IE 8 and less?

本文关键字:JavaScript 版本 失败 ie8 HTML 音频      更新时间:2023-09-26

如何解决这个问题?如:


snd = new Audio("foo/bar.wav")
alert("abc") //in IE this line wont run??!
snd.play()

如果您检测到功能(支持的类型),你的脚本不会抛出一个错误在其他浏览器(移动等),它不支持音频。

你可以让它成为跨浏览器条件ie。

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

或者考虑使用Modernizr

IE8-不支持<audio>元素。看到http://caniuse.com/壮举=音频。如果你可以分开你的脚本,你可以这样做:

<!--[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脚本。