我正在使用JW Embedder与JWPlayer在一个页面上嵌入3个视频。 (我很确定如果使用SWFObject进行嵌入,坐标会是相同的。
令我恐惧(!)在查看Fiddler时,我看到了jwplayer.swf
的3次下载(HTTP状态200),这是一个不必要的200kb。
显然正在发生的事情是嵌入器的javascript只是吐出代码来实例化flash对象,然后浏览器发起3个请求100kb jwplayer.swf
文件。
等待jwplayer.swf
加载然后将其用于其他2名玩家并不够聪明。
如何确保jwplayer.swf仅加载一次。
答案 0 :(得分:2)
由浏览器决定如何处理对同一对象的多个请求。大多数浏览器会将资产保存在缓存中,并跳过后续请求并直接从缓存中提供服务,或者发送不同类型的请求,以检查服务器上的内容是否已更改。
无论哪种方式,玩家都无法控制此行为。那说......
如果您使用HTML5,可以尝试为swf创建缓存清单。
这个脚本看起来很有希望:http://blog.sebastian-martens.de/2010/05/preload-assets-with-javascript-load-complete-callback-for-single-assets-include-swfflash/你可以预加载第一个播放器,然后预加载后两个播放器(见注释9)。