どうすればこれを修正できますか?例えば:
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
スクリプトを使用します。