我已经为我正在建设的网站添加了背景音乐(不要杀了我)。
而在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'
答案 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仿真)。