Javascript 设置显示后无法使用Flash对象方法:无
这是我目前面临的情况。 我有一个嵌入式youtube视频Javascript 设置显示后无法使用Flash对象方法:无,javascript,css,flash,object,youtube,Javascript,Css,Flash,Object,Youtube,这是我目前面临的情况。 我有一个嵌入式youtube视频。该对象公开javascript API以控制播放器。 对对象或包装对象的div设置display:none后,方法将变得未定义。 一旦dispay css属性设置回“block”,这些方法将再次可用。 我制作了一把小提琴来展示这个问题 我想知道为什么会发生这种情况,有没有可能监视对象的状态,看看它是否已经加载并准备好使用 谢谢你 注意:这个问题可以在Chrome中看到在IE中对我很好 我的假设是,无论你使用的是什么浏览器,它都认为通过“
。该对象公开javascript API以控制播放器。
对对象或包装对象的div设置display:none后,方法将变得未定义。
一旦dispay css属性设置回“block”,这些方法将再次可用。
我制作了一把小提琴来展示这个问题
我想知道为什么会发生这种情况,有没有可能监视对象的状态,看看它是否已经加载并准备好使用
谢谢你
注意:这个问题可以在Chrome中看到在IE中对我很好 我的假设是,无论你使用的是什么浏览器,它都认为通过“优化”这些东西是聪明的。那个闪光物体是隐藏的吗?嗯,你不可能想用它做任何事,不可能。[/讽刺] 我建议将元素移出屏幕,而不是隐藏它:
#elem {
position: fixed;
right: 100%;
}
使用NPAPI插件(即不是Internet Explorer)时会发生这种情况。您可以将项目移出屏幕(需要
显示:绝对
/显示:相对
),或者将flash对象设置为包含html元素的100%大小,并将该元素的高度或宽度设置为.01px。不要使用$(elem).fadeOut
,因为在动画结束时,jq设置显示:无
。而是使用$(elem).fadeTo
,它不会改变其他css属性。还需要添加一个新参数
<param name="wmode" value="transparent">
使淡入淡出动画工作
抱歉:我忘了提到这个问题可以在Chrome(以及其他浏览器)中看到。不幸的是,Chrome以做类似的事情而闻名。