0

我在 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>

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

4

1 回答 1

1

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

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

于 2012-02-18T04:09:12.027 回答