javascript - 设置显示后Flash对象方法不可用 :none

标签 javascript css flash object youtube

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

Show case fiddle

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

提前致谢!

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

最佳答案

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

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

使淡入淡出动画起作用。

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

关于javascript - 设置显示后Flash对象方法不可用 :none,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12164228/

相关文章:

javascript - 使用 Javascript 自定义上下文菜单?

javascript - 获取选中的表格行文本值并发送给API

jquery - 我的网页中有 Accordion ,但添加任何其他 javascript 都会破坏 Accordion

php - 如何保护流媒体视频不被下载

javascript - 如何使用CSS将三个元素并排放置并居中

javascript - 如何从 Xpath 中隔离可在 document.querySelector 中使用的选择器?

html - Flash 元素不会在 Ipad 上显示

javascript - Javascript 问题 - JQuery 和选择器

javascript - 无法从 JS 函数访问组合日期

javascript - 数据表:如何从另一个函数获取变量值