如何确定何时加载嵌入式Flash对象?

嵌入flash对象时,有没有办法确定它何时完全加载?

这是我的基本问题,但对于任何对其背后细节感兴趣的人:

我正在使用( DOMWindow )jQuery插件。 对于那些不熟悉的人来说,它是一个基本的叠加层,显示在页面的中心位置,高于所有其他变暗的内容。

在DOMWindow内部,我嵌入了一个YouTubevideo。 用于嵌入video的标记是AJAX注入的。

DOMWindow有一个内置的加载图形,但我遇到的问题是AJAX GET请求几乎立即完成,并且在等待加载YouTubevideo的同时持续3-5秒看着一个白色矩形。

如果我能弄清楚如何确定它何时完成加载,我可以在DOMWindow内部编写一个更优雅的加载方案(使用动画微调器)。

你应该看看这个页面Youtube Player Javascript API 。 订阅onStateChange事件并查找它返回5似乎是你想要做的。

我会留下我的原始答案,以防它可能仍然方便。 它在下面。

您可能需要查看此博客条目 。 他正在将Flash事件传递给javascript以监控video。 他特意提到等待电影dl并附加到播放器。 我不确定这些技术是否适用于youtube播放器。

它正在寻找更通用的Flash引用,Flash使OnProgress,OnReadyStateChange和PercentLoaded可用作OBJECT或EMBED元素的Javascript属性。 http://www.adobe.com/support/flash/publishexport/scriptingwithflash/scriptingwithflash_03.html

这样做的最终方法是从Flash中获得某种可以显示的确认信息(在本例中为YouTube API)。

除此之外,Flash电影加载完成时没有客观要点。 加载第一帧后,它可以在稍后加载内容时显示初始内容,即使加载了根SWF文件,也​​可能需要加载更多外部内容才能显示任何内容。 (YouTube可能属于后一类,容器SWF加载内容的任何服务也是如此。)