2

このコードはクロムとファイアフォックスで完璧に機能します..しかし、IE8でエラーが発生します

if($('#soundcheck').is(':checked')){
                    //alert('checked');
                    var audio = document.createElement('audio');
                    document.body.appendChild(audio);
                    audio.src = system_base_url+'/sound/horn.wav';
                    audio.play();

                  }

IE8 は次のように述べています: オブジェクトはこのプロパティまたはメソッドをサポートしていません。

audio.play();

IE8で同様の経験をした人はいますか?

よろしく

4

3 に答える 3

2

IE 8以前はAudioタグをサポートしていないため、ハックを使用する必要があります。それがお役に立てば幸いです。

<audio id='audio' controls>
      <source src="audioes/song.ogg" type="audio/ogg" />
      <source src="audioes/song.mp3" type="audio/mp3" />
      <div>Your browser doesn't support HTML5 audio</div>
      <%--Fall back on the WMP plugin--%>
      <object id='mediaPlayer' type="audio/mpeg" width="200" height="40"><param name="src" value="audioes/song.mp3" /></object>
</audio>

<script type="text/javascript">
function play () {
    var audio = document.getElementByID('audio');
    var mediaPlayer = document.getElementByID('mediaPlayer');
    //HTML5 Audio is Supported
    if(audio['play']) 
    {
    audio.play();
    }
    //HTML5 Audio is NOT Supported
    else
    {
    mediaPlayer.object.play();
    }
}
    </script>
于 2012-11-28T08:55:46.800 に答える
2

この<audio>タグは HTML5 であり、Internet Explorer 9、Firefox、Opera、Chrome、Safari などの新しいブラウザーでのみサポートされています。

于 2012-11-28T07:59:15.853 に答える
1

同じ問題がありました!試す:

 <a href="javascript: void(0);" onclick="playSound('sound.mp3');">...</a>



<script language="javascript" type="text/javascript">
  function playSound(soundfile) {
  document.getElementById("dummy").innerHTML=
  "<embed src=\""+soundfile+"\" hidden=\"true\" autostart=\"true\" loop=\"false\" />";
  }
</script>
于 2012-11-28T08:00:16.897 に答える