2011-04-22 97 views
1

我正在使用JW Embedder和JWPlayer在頁面上嵌入3個視頻。 (我敢肯定的sitatuion會如果使用SWFObject做嵌入是相同的。防止JWPlayer多次加載JWPLAYER.SWF多個實例

我的恐懼(!)當在尋找提琴手,我看到3個下載(HTTP狀態200)jwplayer.swf這是一種不必要的200KB 。

顯然發生了什麼事是,對嵌入的JavaScript剛剛裏噴出的代碼來實例化Flash對象,然後在瀏覽器發起的100KB jwplayer.swf文件3名的請求。

這是不夠聰明等待爲jwplayer.swf加載,然後將其用於2個其他玩家。

如何確保jwplayer.swf只加載一次。

回答

2

由瀏覽器決定如何處理同一對象的多個請求。大多數瀏覽器會將資源保存在緩存中,並跳過後續請求並直接從緩存中提供服務,或者發送不同類型的請求,以檢查服務器上的內容是否已更改。

無論哪種方式,玩家本身都無法控制這種行爲。這就是說....

如果你對HTML5感興趣,可以嘗試爲swf製作一個緩存清單。

此腳本看起來很有前途:http://blog.sebastian-martens.de/2010/05/preload-assets-with-javascript-load-complete-callback-for-single-assets-include-swfflash/您可以預加載第一個播放器,然後作爲後加載回調預載下兩個播放器(請參閱評論9)。