embed通过js动态赋值,值赋进去了但是音乐没变,用innerHTML,也没作用

<form id="form1" runat="server">
<div id="div_music">
<embed id="myMusic" src="music/xihuanni.mp3" loop="1" type="audio/mpeg" />
<%--<audio id="myMusic" loop="loop" src="/music/xihuanni.mp3" type="audio/mpeg"> </audio>--%>
</div>

<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True">
<asp:ListItem Value="/music/xihuanni.mp3">喜欢你</asp:ListItem>
<asp:ListItem Value="/music/jtnyjgw.mp3">今天我要嫁给你</asp:ListItem>
</asp:DropDownList>

<script>
var ddl = document.getElementById("DropDownList1");
var aaa=ddl.options[ddl.selectedIndex].value;
var swf = aaa;//得到地址
var isIE = window.navigator.userAgent.indexOf("MSIE") > -1;
var mm = document.getElementById("div_music");
var str = '<embed id="myMusic" src="' + swf + '" loop="1" type="audio/mpeg">';

function mus() {

if (isIE) {

document.myMusic.src = swf;

}
else {
document.embeds["myMusic"].src = swf;

}

mm.innerHTML(mm);

//mm.remove();
}
window.onload = mus;
</script>
</form>

audio = document.getElementById("audio");
audio.src = "music.mp3";
audio.play(); //播放
看了下你的代码,你只更改了dom中的类容,但是并没调用播放这个功能。追问

你给的代码放进去不行,你看的代码是下面那两个图片的吧,那是运行后生成的,我用审查元素查看截图的....

追答

那就创建一个audio试试
audio = document.createElement("audio")
audio.src = "url.mp3"
audio.play()
注意:pc端上是允许同时播放多个音频文件的,所以这里你要将其它的暂停掉。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-10-19
相似回答