1

我嵌入了一个 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>

然后我用 JS 替换它的 src 属性:

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);
    }

上面的函数将设置一个新src属性,但它不会根据新链接播放 youtube 视频。我需要使用新设置的src属性以 HTML 格式重新加载 youtube 视频。有什么建议么?没有 YouTube API。

4

2 回答 2

0

它不漂亮,但您可以添加生成的数字作为 href 后缀。

http://youtube.com/VideoOfACat ?RandomVariable

为您提供剪辑的更新版本

基本上你可以在? ,浏览器仍然刷新链接。最简单的可能是一个全局变量,每次重新加载都会获得 1++。

于 2013-05-21T08:00:55.740 回答
0

我正在回答我自己的问题,我想给那些将来遇到同样问题的人一个警告:你的 JS 函数的位置很重要!!我已经实现了这样的代码

<script>
function replaceSrcc() {

    var elem = document.getElementsByTagName("embed")[0];
        copy = elem.cloneNode();
    copy.src = "https://www.youtube.com/v/SKQeNnNT_Vg?version=3";
    elem.parentNode.replaceChild(copy, elem);
    } 


    if (window.addEventListener){
         window.addEventListener('load', replaceSrcc, false);
    } else if (window.attachEvent) {
        window.attachEvent('onload', replaceSrcc);
    }

</script>

<head>首先,我将它与为我页面中的其他内容定义的其他 JS 函数一起放入标记中。那没起效。然后,作为最后一个选项,我将它放入<body>标签中,现在它可以工作了。有点疯狂,然而,这是事实。

于 2013-05-21T08:56:00.437 回答