防止JWPlayer多次为多个实例加载JWPLAYER.SWF

时间:2011-04-22 05:10:02

标签: swfobject jwplayer

我正在使用JW Embedder与JWPlayer在一个页面上嵌入3个视频。 (我很确定如果使用SWFObject进行嵌入,坐标会是相同的。

令我恐惧(!)在查看Fiddler时,我看到了jwplayer.swf的3次下载(HTTP状态200),这是一个不必要的200kb。

显然正在发生的事情是嵌入器的javascript只是吐出代码来实例化flash对象,然后浏览器发起3个请求100kb jwplayer.swf文件。

等待jwplayer.swf加载然后将其用于其他2名玩家并不够聪明。

如何确保jwplayer.swf仅加载一次。

1 个答案:

答案 0 :(得分:2)

由浏览器决定如何处理对同一对象的多个请求。大多数浏览器会将资产保存在缓存中,并跳过后续请求并直接从缓存中提供服务,或者发送不同类型的请求,以检查服务器上的内容是否已更改。

无论哪种方式,玩家都无法控制此行为。那说......

如果您使用HTML5,可以尝试为swf创建缓存清单。

这个脚本看起来很有希望:http://blog.sebastian-martens.de/2010/05/preload-assets-with-javascript-load-complete-callback-for-single-assets-include-swfflash/你可以预加载第一个播放器,然后预加载后两个播放器(见注释9)。