1

这是我目前面临的情况。我有一个嵌入的 youtube 视频作为<object>. 该对象公开了 javascript API 来控制播放器。将 display:none 设置为对象或包装对象的 div 后,方法变得未定义。一旦将显示 css 属性设置回“块”-这些方法再次可用。我创建了一个 Fiddle 来展示这个问题。

展示案例小提琴

我想知道为什么会这样,是否可以监控对象的状态并查看它是否已经加载并准备好使用?

提前谢谢!

注意:问题可以在 Chrome 中看到

4

2 回答 2

0

在 IE 中对我来说效果很好。

我的假设是,您使用的任何浏览器都认为通过“优化”东西而变得聪明。那个 Flash 对象被隐藏了?好吧,你不可能想用它做任何事情,没办法。[/讽刺]

我建议将元素移出屏幕而不是隐藏它:

#elem {
    position: fixed;
    right: 100%;
}
于 2012-08-28T17:13:55.210 回答
0

使用 NPAPI 插件(即不是 Internet Explorer)时会发生这种情况。您可以将项目移出屏幕(需要display:absolute/ display:relative),或者将 flash 对象设置为包含 html 元素的 100% 大小,并将该元素的高度或宽度设置为 0.01px。不要使用$(elem).fadeOut,因为在动画结束时, jq 设置了display:none. 而是使用$(elem).fadeTowhich 不会改变其他 css 属性。还需要添加一个新参数

<param name="wmode" value="transparent">

让淡入淡出动画工作。

http://jsfiddle.net/ynuMT/4/

于 2012-08-29T23:26:10.973 回答