2012-09-02 14 views
0

我正在使用swfobject.js版本2.2。swfobject.embedSWF:'onYouTubePlayerReady'和'callbackFn' - 有什麼區別?

我打電話給swfobject.embedSWF,並在Javascript代碼中將最後一個參數(callbackFn)設置爲本地函數。

之後,調用兩個不同的例程: 1.我的回調函數 2.'onYouTubePlayerReady',它是由swfobject API定義的回調函數。

這兩者之間有什麼區別,爲了確保視頻已經上傳並準備播放,我應該依賴哪一個?

我在問這個問題,因爲在Safari上,只有我的回調函數被調用,所以我需要知道是否安全依靠它。

回答

0

onYouTubePlayerReady不是SWFObject方法,它是由YouTube的播放器API提供的獨立方法。

您的問題可能歸結爲時間 - 因爲onYouTubePlayerReady是YouTube播放器API的一部分,所以在SWF加載完成並且ExternalInterface已由Flash Player初始化之前,它將不可用。

的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