脚本不允许lightbox覆盖嵌入的Youtube视频(wmode=透明),但其他脚本可以工作

Script not allowing lightbox to cover embedded Youtube videos (wmode=transparent) but other script works

本文关键字:脚本 透明 其他 工作 覆盖 lightbox 不允许 视频 Youtube wmode      更新时间:2023-09-26

我在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&amp;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&amp;wmode=transparent" type="application/x-shockwave-flash" width="425" height="350" wmode="transparent">
</object>

既然它们是一样的,我不知道为什么它不起作用。

wmode可能在html中可见,但尚未生效-尝试克隆并替换flash的html以强制重新加载(只是想看看这是否真的是问题所在,我认为更改src会强制重新加载,但我不确定)

此外,你能粘贴灯箱的html/css还是制作一个可以演示问题的jsfiddle?