场景:捕获实时创建audio元素播放音频的src,防止播放结束后audio标签随即会被移除,然后就找不到src了
window.mp3list = [];
setInterval(() => {
const audioElements = document.querySelectorAll("audio");
let newSrcList = [];
audioElements.forEach(audio => {
if (audio.src) {
newSrcList.push(audio.src);
} else {
const sourceElements = audio.querySelectorAll("source");
sourceElements.forEach(source => {
if (source.src) {
newSrcList.push(source.src);
}
});
}
});
newSrcList = [...new Set(newSrcList)]; // 去重
const uniqueNewSrc = newSrcList.filter(src => !window.mp3list.includes(src));
if (uniqueNewSrc.length > 0) {
console.log("New audio sources found:", uniqueNewSrc);
window.mp3list.push(...uniqueNewSrc);
}
}, 50);