【问题标题】:How to reload the youtube video in my HTML every time the page is run?每次页面运行时如何在我的 HTML 中重新加载 youtube 视频?
【发布时间】:2013-05-21 07:49:19
【问题描述】:

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

【问题讨论】:

  • 如何删除这个 DOM,然后添加具有该 url 作为 src 属性的新 DOM?
  • 这样的? var elem = document.getElementsByTagName("embed")[0];复制 = elem.cloneNode();复制.src = "new_link"; elem.parentNode.replaceChild(copy, elem);我试过了,但都不起作用

标签: javascript html reload src


【解决方案1】:

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

http://youtube.com/VideoOfACat?RandomVariable

为您提供剪辑的更新版本

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

【讨论】:

  • 不太明白,后面已经有一个变量了?标记,它定义了 youtube 播放器的版本,version = 3 (youtube.com/v/M7lc1UVf-VE?version=3)。你的意思是添加另一个?背后?
  • 是的,您可以根据需要添加多少垃圾,只要它是 ?之间。我猜“版本 = 3”没有改变,因此视频没有刷新。所以,用 jQuery 生成一个全局变量,每次重新加载时 +1 并用 ? 和链接末尾附加它,应该这样做:) 琐事:如果你在观看时使用相同的原则youtube-clip(在 youtube 上)你经常可以避开广告 :)
【解决方案2】:

我正在回答我自己的问题,我想给那些将来遇到同样问题的人一个警告:你的 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>

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

【讨论】:

    猜你喜欢
    • 2014-02-03
    • 2021-11-13
    • 1970-01-01
    • 2015-03-18
    • 1970-01-01
    • 1970-01-01
    • 2013-02-21
    • 2017-07-18
    • 2017-01-20
    相关资源
    最近更新 更多