2

这段代码非常适合 crome 和 firefox .. 但在 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

<audio>标记是 HTML5 并且仅在较新的浏览器中受支持,例如 Internet Explorer 9、Firefox、Opera、Chrome 和 Safari。

于 2012-11-28T07:59:15.853 回答
2

IE 8 及更早版本不支持 Audio 标签,您需要使用一些 hack。希望它可以提供帮助。

<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 回答
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 回答