Javascript 如何在每次运行页面时以我的HTML重新加载youtube视频?
我嵌入了一个youtube视频,就像这样:Javascript 如何在每次运行页面时以我的HTML重新加载youtube视频?,javascript,html,reload,src,Javascript,Html,Reload,Src,我嵌入了一个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> <
<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
属性,但它不会根据新链接播放youtube视频。我需要用新设置的src
属性重新加载HTML格式的youtube视频。有什么建议吗?没有YouTube API。它并不漂亮,但您可以添加生成的数字作为href后缀
随机变量
获取该剪辑的刷新版本
基本上,您可以在?之后放置任何您想要的内容,浏览器仍会刷新链接。
最简单的可能是一个全局变量,每次重新加载得到1++ 我在回答我自己的问题,我想给那些将来有同样问题的人一个警告: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>
函数replacesrc(){
var elem=document.getElementsByTagName(“嵌入”)[0];
copy=elem.cloneNode();
copy.src=”https://www.youtube.com/v/SKQeNnNT_Vg?version=3";
elem.parentNode.replaceChild(复制,elem);
}
if(window.addEventListener){
addEventListener('load',replaceSRC,false);
}else if(窗口附件){
window.attachEvent('onload',replacesrc);
}
首先,我将其放入
标记中,以及为页面中的其他内容定义的其他JS函数。它不起作用。然后,作为最后一个选项,我将它放入
标记中,现在它可以工作了。有点疯狂,但这是事实 删除这个DOM,然后添加新的DOM,并将该url作为src属性,怎么样?var elem=document.getElementsByTagName(“嵌入”)[0];copy=elem.cloneNode();copy.src=“新建链接”;elem.parentNode.replaceChild(复制,elem);我已经试过了,但不工作也不完全明白,我已经有一个变量了吗?mark,它正在定义youtube播放器的版本,版本=3()。你是说再加一个吗?在这背后?是的,你可以添加多少垃圾,只要它是一个?之间我猜“Version=3”不会改变,因此视频不会刷新。因此,使用jQuery生成一个全局变量,每次重新加载时该变量为+1,并使用?链接的最后,应该这样做:)琐事:如果你在youtube上观看youtube视频片段时使用相同的原则,你通常可以避开广告:)
<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>