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

时间:2012-02-18 01:18:26

标签: javascript flash youtube wmode

我在Youtube上覆盖视频时遇到了问题,但是通过设计更改解决了这个问题(不再需要覆盖它们)。

所以我有一个用户可以运行的脚本,它调用javascript文件在当前网页上执行其他操作。它做的一件事就是打开一个覆盖页面的灯箱。当然它不会涵盖嵌入式Youtube视频,所以我需要做一些改动。我做了必要的修改而且没有用。我一直在尝试并尝试并最终制作了一个只有嵌入式视频和.jpg的页面(如果没有图像,我的脚本将无法运行)。

我看了看Pinterest脚本添加到嵌入式视频部分的内容,虽然它几乎相同,但确实有一个autoplay = 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>

由于它们是相同的,我不知道它为什么不起作用。

1 个答案:

答案 0 :(得分:1)

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

另外,您可以粘贴灯箱的html / css或制作一个可以解决问题的jsfiddle吗?