Flash不会收到调整大小事件

时间:2011-05-31 17:37:21

标签: javascript flash resize

在div中,我们使用swfobject来嵌入flash播放器。我们用动作脚本编写了flash播放器。在网页初始化期间,我们使用javascript来调整div的大小,使播放器最适合浏览器。随附的Flash播放器注册OnResize事件侦听器和处理程序。问题是当封闭的div调整大小时,不会调用OnResize事件。 (当我们拖动以便随后调整浏览器大小时,会调用OnResize事件。)当调整div的大小时,Flash VM是否可能没有完全准备好?在这种情况下,确保调用OnResize事件的最佳方法是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

要确定事件是否按照您期望的顺序触发,请将它们全部记录到JS控制台。使用带有Firebug / Chrome Dev的console.log从JS记录DIV调整大小,并使用围绕同一console.log的ExternalInterface包装器记录Flash事件触发。

在Flash中,当您的Flash准备就绪时,onAddedToStage会被触发。我通常在onResize处理程序中手动触发onAddedToStage,以防在Flash准备好之前调整窗口大小。如果确保使用ExternalInterface将onResize发布到JS,则还可以让JS调整大小处理程序在Flash上​​延迟触发onAddedToStage,直到onAddedToStage被触发为止。