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