我该如何解决这个问题?例如:
snd = new Audio("foo/bar.wav")
alert("abc") //in IE this line wont run??!
snd.play()
答案 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
脚本。