在div中隐藏/显示swf?

时间:2009-07-22 21:01:31

标签: javascript html flex flash

我有一个我希望隐藏在div中的flex应用,直到用户点击某个类型的链接或元素。我注意到将swf嵌入到带有样式显示的div中:none实际上并没有隐藏swf,所以我将如何实现这一目标呢?

目标是在用户执行其他操作时将Flex应用加载到后台。 感谢。

2 个答案:

答案 0 :(得分:5)

尝试将以下wmode设置为您的Flash对象,并使用visibility: hidden;

<param name="wmode" value="opaque" />
<embed ... wmode="opaque" ... />

默认情况下,flash基本上覆盖了内容的窗口,即:

  1. z-index比页面上的任何内容都要大
  2. 不从其父级继承显示(将display: none; visibility: hidden;设置为<object>标记将起作用。)
  3. 通过将wmode设置为opaque,它基本上会告诉flash将您的<object>视为正常的DOM标记,它会响应正常的继承和z-index规则。它的性能成本非常低。

    另请注意,某些浏览器在显示之前不会加载该对象。

答案 1 :(得分:2)

我通常只是将容器的高度/宽度强制为1 x 1 ...

<div style="height:1px; width:1px;" >... flash goes here ...<div>

然后,当我需要闪光灯时,我会根据需要重新设定高度/宽度。注意,如果你想将hw重置为“100%”并将它绑定到父div,你可能想把它放到父容器中,其中“position:relative; height:?px; width:?px”设置。