我正在使用javascript动态填充带有源信息的音频标签。在Chrome中运行良好,但在Safari中,源信息会在音频标签内发生变化,但它会播放相同的歌曲。关于为什么会发生这种情况的任何想法?
答案 0 :(得分:3)
在Safari中,当您更改源时,您还必须在音频播放器上调用.load()
以使其实际加载新源。
其他浏览器似乎不需要它。
答案 1 :(得分:0)
您是否尝试重新创建节点?
document.removeChild(document.getElementById("audio-player");
var dynamicAudio = document.createElement("audio");
dynamicAudio.name = "audio-player";
dynamicAudio.id = "audio-player";
var dynamicSound1 = document.createElement("source");
var dynamicSound2 = document.createElement("source");
var dynamicSound3 = document.createElement("source");
dynamicSound1.src = "http://www.chicagowebguru.com/audio/RainbowConnection.mp3";
dynamicSound2.src = "http://www.chicagowebguru.com/audio/RainbowConnection.ogg";
dynamicSound3.src = "http://www.chicagowebguru.com/audio/RainbowConnection.wav";
dynamicAudio.appendChild(dynamicSound1);
dynamicAudio.appendChild(dynamicSound2);
dynamicAudio.appendChild(dynamicSound3);
refNode = document.getElementById("message-container");
document.body.insertBefore(dynamicAudio,refNode.nextSibling);
或者你可以使用jQuery