在IE上停止BGSOUND元素?

时间:2011-04-20 10:10:13

标签: javascript html background-music

我已经为我正在建设的网站添加了背景音乐(不要杀了我)。
而在IE中元素被称为BGSOUND,我试图有一个按钮来暂停
音乐,按钮删除整个元素并重新添加,但是 原来删除元素只重新启动IE的音乐。

如何通过javascript停止BGSOUND元素播放的音乐?

当前代码:

<!--[if IE]>
    <BGSOUND id="bgmusic" SRC="<?php echo bloginfo('stylesheet_directory'); ?>/bgmusic.mp3" LOOP="true">
<![endif]-->

当我发出命令document.getElementById('bgmusic').stop()时 我得对象不支持属性或方法'stop'

6 个答案:

答案 0 :(得分:2)

一个丑陋的工作是将volume设置为-10000:

document.getElementById('bgmusic').volume = -10000;

答案 1 :(得分:2)

我的客户端页面情况类似。 我发现bgsound元素的removing the src property是避免IE中重启音乐问题的最佳方法。

var bgsoundElems = document.getElementsByTagName('bgsound');
for(var i = 0; i < bgsoundElems.length; i++){
   bgsoundElems[i].src = '';
}

答案 2 :(得分:0)

我建议使用Flash代替。您不仅可以更好地控制音乐,还可以跨浏览器使用。今天,有更多用户Flash player而不是IE

答案 3 :(得分:0)

当用户按下Pause时:删除元素并将其存储在变量中 当用户按下Play时:从变量中获取元素并将其添加到DOM

答案 4 :(得分:0)

我建议使用SoundManager

它将尽可能使用HTML5音频,否则将回退到Flash。它有一个unified and easy API

答案 5 :(得分:0)

如果要执行stop(),只需将src设置为空值即可。适用于IE11(也可以使用IE8仿真)。