jQuery没有在IE中识别<embed />元素

时间:2010-07-01 15:33:27

标签: javascript jquery flash internet-explorer

我有一个CMS,人们可以粘贴代码来嵌入YouTube视频。问题是,CMS使用jQuery灯箱作为模态弹出窗口来编辑内容,并且YouTube嵌入显示在弹出窗口的顶部。

我已经在许多地方读过,元素不尊重z-index属性,只是把自己放在一切之上。您需要包含“wmode”属性并将其设置为“opaque”或“transparent”以供它们播放。此外,有时您需要包含“内部

我有一个简单的jQuery函数将“wmode”属性添加到页面上的所有“embed”标签,但是在IE上它很简单没有做任何事情。在Firefox中,wmode属性已成功设置在所有元素上,但我可以看到在IE中它没有被设置。但是,当我编辑嵌入的文本并手动添加它时,它可以正常工作。

$(document).ready(function() {
    $("div.video object").prepend('<param name="wmode" value="transparent">');
    $("div.video embed").attr("wmode", "transparent");              
});

要求用户手动添加它不是一种选择。我的jQuery有什么问题,这不起作用?

1 个答案:

答案 0 :(得分:0)

我不确定如何解决您的问题,但可以考虑您可以进一步研究的两个因素:

在Flash Player(设置插件)之后设置wmode没有效果,我必须在渲染object / embed之前设置它,我相信。

编辑: IE不使用embed元素,只使用对象元素。显然,这是错误的,请参阅Ryan的评论。