我使用的是swfobject.js 2.2版。
我正在调用swfobject.embedSWF,并将最后一个参数(callbackFn)设置为我的Javascript代码中的本地函数。
之后,调用两个不同的例程: 1.我的回调函数 2.'onYouTubePlayerReady',这是由swfobject API定义的回调函数。
这两者之间有什么区别,为了确保视频已经上传并准备播放,我应该依赖哪一个?
我问这个,因为在Safari上,只调用了我的回调函数,因此我需要知道依赖它是否安全。
答案 0 :(得分:0)
onYouTubePlayerReady
不是SWFObject方法,它是YouTube播放器API提供的独立方法。
您的问题可能归结为时间问题 - 由于onYouTubePlayerReady
是YouTube播放器API的一部分,因此在SWF完成加载并且Flash Player初始化ExternalInterface之后,它才会可用。
SWFObject的callbackFn
只是在<object>
成功添加到页面标记时执行,并且不表示SWF已加载。实际上,SWFObject并不关注SWF是否加载。
但是,通过一些额外的JavaScript,您可以轮询SWF以检测它是否已完成加载,然后执行您的自定义脚本(在本例中为onYouTubePlayerReady
)。
此Stack Overflow thread讨论了民意调查,此处为a short tutorial explaining how to poll after embedding a SWF via SWFObject。