在我的网页中,我正在插入一个像这样的YouTube视频:
<object width="640" height="360">
<param name="movie" value="https://www.youtube.com/v/M7lc1UVf-VE?version=3"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowScriptAccess" value="always"></param>
<embed src="https://www.youtube.com/v/M7lc1UVf-VE?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="360"></embed>
</object>
现在我必须替换src
标记内的embed
属性。为此,我写了JS函数:
function replaceSrc()
{
document.getElementsByTagName("embed")[0].src = "new_link";
}
if (window.addEventListener){
window.addEventListener('load', replaceSrc, false);
} else if (window.attachEvent) {
window.attachEvent('onload', replaceSrc);
}
然而,这不起作用,加载页面后,youtube链接保持不变。有什么建议?我查看过类似内容的先前问题,但他们主要使用JQuery,在我的情况下需要JavaScript。
答案 0 :(得分:0)
如果要在embed标记中加载新视频,则需要使用新的src创建一个新的embed
元素,然后替换旧的:
function replaceSrc() {
var elem = document.getElementsByTagName("embed")[0],
copy = elem.cloneNode();
copy.src = "new_link";
elem.parentNode.replaceChild(copy, elem);
}
请注意,这只会照顾embed
,您可能还需要处理object
param。