我怎样才能解决这个问题?例如:
snd = new Audio("foo/bar.wav")
alert("abc") //in IE this line wont run??!
snd.play()
我怎样才能解决这个问题?例如:
snd = new Audio("foo/bar.wav")
alert("abc") //in IE this line wont run??!
snd.play()
如果您检测到功能(支持的类型),您的脚本将不会在其他不支持音频的浏览器(移动设备等)中引发错误。
你可以让它成为有条件的跨浏览器,即。
if (typeof window.Audio != 'undefined') {
/* var snd = new Audio("foo/bar.wav"); ... */
}
或考虑使用Modernizr。
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
脚本。