设置显示后Flash对象方法不可用:无
Flash object method unavailable after setting display:none
这是我目前面临的情况。我有一个嵌入的youtube视频作为<object>
。该对象公开javascript API来控制播放器。在对对象或包装对象的div设置display:none后,方法将变为未定义。一旦dispay-css属性设置回"block",这些方法将再次可用。我制作了一个Fiddle来展示这个问题。
展示案例小提琴
我想知道为什么会发生这种情况,是否可以监视对象的状态,看看它是否已经加载并准备好使用?
谢谢!
注意:问题可以在Chrome中看到
当使用NPAPI插件(即不是Internet Explorer)时会发生这种情况。您可以将项目移出屏幕(需要display:absolute
/display:relative
),也可以将flash对象设置为包含html元素的100%大小,并将该元素的高度或宽度设置为.01px。不要使用$(elem).fadeOut
,因为在动画结束时,jq会设置display:none
。相反,使用$(elem).fadeTo
,它不会更改其他css属性。还需要添加一个新的参数
<param name="wmode" value="transparent">
以使淡入淡出动画工作。
http://jsfiddle.net/ynuMT/4/
在IE中运行良好。
我的假设是,无论你使用什么浏览器,都认为通过"优化"内容是聪明的。Flash对象被隐藏了吗?好吧,你不可能想用它做任何事情,不可能。[/讽刺]
我建议将元素从屏幕上移开,而不是隐藏它:
#elem {
position: fixed;
right: 100%;
}
相关文章:
- 有没有比在app.js上绑定模块名称更好的方法来动态加载视图模型和视图以显示模态
- 用HTML在不同屏幕上显示和隐藏内容的方法
- 显示指令时调用指令方法
- Push方法显示错误
- 使用较少代码隐藏和显示选择菜单内容的更好方法是什么?javascript
- 设置显示后Flash对象方法不可用:无
- 重置transform:rotate(),方法是移除并追加在追加和重绘图表后未显示数据的画布
- 什么'这是用javascript隐藏和显示表中所有行的最快方法
- ng显示“;调用方法“;不起作用
- 使用Ajax Get方法将数据显示到特定元素中
- JS方法显示了未定义的简单示例
- 在上下文菜单项单击上显示侧边栏/弹出窗口的最佳方法是什么
- 为什么参数对象没有在控制台中显示它的方法
- 如何通过MVC操作方法显示/隐藏HTML按钮
- 请求方法显示选项而不是开机自检
- 冻结/暂停的方法 显示外汇数据流的 UI 图表
- html/javascript如何用点击按钮的方法显示用户输入
- 是否有任何方法显示工具提示默认(没有悬停饼图)在chartjs
- 如何使用jquery的append方法显示两个javascript变量
- 是否有一个HTML5的方法显示tiff图像数据已经加载到内存