0

在我的网页中,我正在插入一个 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。

4

1 回答 1

0

如果您在 embed 标签中加载新视频,则需要embed使用新 src 创建一个新元素,然后替换旧元素:

function replaceSrc() {
    var elem = document.getElementsByTagName("embed")[0],
        copy = elem.cloneNode();
    copy.src = "new_link";
    elem.parentNode.replaceChild(copy, elem);
}

请注意,这只需要处理embed,您可能还需要处理object参数。

于 2013-05-20T14:55:42.793 回答