我在Youtube上报道视频时遇到了问题,但通过设计更改解决了这个问题(不需要再报道了)。
所以我有一个用户可以运行的脚本,它调用一个javascript文件在当前网页上做其他事情。它所做的一件事就是打开一个覆盖页面的灯箱。当然,它不会涵盖嵌入式Youtube视频,所以我需要做一些改变。我做了必要的改变,但没有奏效。我一直在尝试,最终只制作了一个嵌入视频和.jpg的页面(如果没有图像,我的脚本就无法运行)。
我想看看Pinterest脚本在嵌入的视频部分添加了什么,虽然它几乎完全相同,但它们确实有一个自动播放=0,所以我添加了它,这样我就可以亲眼看到它完全相同。如果我运行Pinterest脚本并关闭它,然后运行我的脚本,我的脚本运行良好。如果我运行我的,然后是Pinterest脚本,然后是我的,我的工作。所以我相信这意味着我不会添加任何告诉页面的内容"无论如何,继续把视频放在上面。"
我的脚本中添加wmode的部分:
var players = document.getElementsByTagName('embed');
var len = players.length;
for(var i=0;i<len;i++){
players[i].setAttribute('wmode', "transparent");
players[i].src += "?autoplay=0&wmode=transparent";
}
最小页面html:
<html>
<head>
</head>
<body>
<img src="img/title.jpg">
<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/OOpkr8uNWpk"></param>
<embed src="http://www.youtube.com/v/OOpkr8uNWpk" type="application/x-shockwave-flash" width="425" height="350"></embed>
</object>
</body>
Pinterest脚本之后:
<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/OOpkr8uNWpk">
<embed src="http://www.youtube.com/v/OOpkr8uNWpk?autoplay=0&wmode=transparent" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent">
</object>
继我之后:
<object width="425" height="350">
<param name="movie" value="http://www.youtube.com/v/OOpkr8uNWpk">
<embed src="http://www.youtube.com/v/OOpkr8uNWpk?autoplay=0&wmode=transparent" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent">
</object>
既然它们是一样的,我不知道为什么它不起作用。
wmode可能在html中可见,但尚未生效-尝试克隆并替换flash的html以强制重新加载(只是想看看这是否真的是问题所在,我认为更改src会强制重新加载,但我不确定)
此外,你能粘贴灯箱的html/css还是制作一个可以演示问题的jsfiddle?