用JS控制EMBED标签播放背景音乐的问题

来源:百度知道 编辑:UC知道 时间:2024/05/28 08:53:27
代码:
<HTML><HEAD><TITLE>背景音乐测试</TITLE>
<EMBED NAME="MUSIC1" SRC="1.wma" Loop=-1 AUTOSTART=false Hidden=true MASTERSOUND>
<script language="JavaScript">
function pageOnLoad()
{
document.MUSIC1.play();
}
</script>

上面这么写,调用pageOnLoad()方法后不好用,没有出背景音乐.
把JS改成:
<script language="JavaScript">
function pageOnLoad()
{
alert(); //随便弹出一个对话框!!!!!!!!
document.MUSIC1.play();
}
</script>
这么样就好用了.请问为什么会出现这种状况,不想alert如何能好用.

还想问问如何在JS里设置EMBED的src属性.(改变播放的音乐曲目)
document.MUSIC1.SRC = "2.wma";
document.MUSIC1.SRC.value = "2.wma";
这两种写法都不对!

第一个问题:我试了都可以呀;
第二个问题:建议用
document.form1.MUSIC1.SRC="2.wma";
或者
将name改为id<EMBED id="MUSIC1" SRC="1.wma" Loop=-1 AUTOSTART=false Hidden=true MASTERSOUND>
document.getElementById("MUSIC1").src="2.wma"
或者
var MUSIC1= document.createElement("embed");
MUSIC1.src="2.wma";

楼主说的是在js里改变EMBED标签的src属性吧!
embed和object比较特殊,跟一般DOM处理上有所不同,在载入后浏览器会拒绝改变它们的 src 属性。
解决办法:
直接把这个嵌入对象用jquery插入
参考:http://hi.baidu.com/plant_plant/item/e57b09c4e42bfd1a505058ad

不能,一个对象的一个synchronized方法只能由一个线程访问。