【发布时间】:2009-07-22 21:01:31
【问题描述】:
我有一个 flex 应用程序,我想将它隐藏在 div 中,直到用户单击某种类型的链接或元素。我注意到将 swf 嵌入到具有样式 display:none 的 div 中实际上并没有隐藏 swf,那么我该如何实现呢?
目标是让 flex 应用程序在后台加载,而用户执行其他操作。 谢谢。
【问题讨论】:
标签: javascript html apache-flex flash
我有一个 flex 应用程序,我想将它隐藏在 div 中,直到用户单击某种类型的链接或元素。我注意到将 swf 嵌入到具有样式 display:none 的 div 中实际上并没有隐藏 swf,那么我该如何实现呢?
目标是让 flex 应用程序在后台加载,而用户执行其他操作。 谢谢。
【问题讨论】:
标签: javascript html apache-flex flash
尝试将以下wmode 设置为您的Flash 对象,并同时使用visibility: hidden;。
<param name="wmode" value="opaque" />
<embed ... wmode="opaque" ... />
默认情况下,flash 基本上会在您的内容上覆盖一个窗口,即:
display: none; visibility: hidden; 设置为<object> 标记将起作用)。通过将wmode 设置为opaque,它基本上告诉flash 将您的<object> 视为正常的DOM 标签,它响应正常的继承和z-index 规则。它的性能成本非常低。
另外,请注意,某些浏览器在对象显示之前不会加载它。
【讨论】:
display: none; visibility: hidden;,但我过去在命名浏览器中使用wmode没有任何问题。
我通常只是将容器的高度/宽度强制为 1 x 1 px...
<div style="height:1px; width:1px;" >... flash goes here ...<div>
然后,当我需要闪光灯时,我会根据需要重新设置高度/宽度。请注意,如果您只想将硬件重置为“100%”,这将绑定到父 div,您可能希望将其放入父容器中,并带有“位置:相对;高度:?px;宽度:?px”设置。
【讨论】: