2013-05-21 52 views
1

我有嵌入YouTube视频,就像这样:如何在每次运行页面时在我的HTML中重新加载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。

+0

如何删除此DOM,然后添加具有该URL的新DOM作为src属性? –

+0

这样的事情? var elem = document.getElementsByTagName(“embed”)[0]; copy = elem.cloneNode(); copy.src =“new_link”; elem.parentNode.replaceChild(copy,elem);我已经尝试过,但既不工作也不工作 – MichalB

回答

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>标记中,现在它可以工作。但有点疯狂,这是事实。

0

这不是很好,但你可以添加一个生成的数字作为href后缀。

http://youtube.com/VideoOfACat?RandomVariable的

获取你剪辑

基本上你可以把任何你的后想的更新版本?,浏览器仍然刷新链接。 最简单的可能是一个全局变量,每次重新加载1 ++。

+0

完全不了解,我已经有一个变量后?标记,它会定义YouTube播放器的版本,版本= 3(https://www.youtube.com/v/M7lc1UVf-VE?version=3)。你的意思是添加另一个?在那之后? – MichalB

+0

是的,你可以添加多少垃圾,只要它是一个?之间。我猜测“版本= 3”不会改变,因此视频不会刷新。 因此,使用jQuery生成一个全局变量,每次重新加载+1并附加** **和链接末尾,应该这样做:) 琐事:如果您在观看时使用相同的原则youtube-clip(在youtube上)你可以经常躲开广告:) – Solders

相关问题