sifr3 - 预取不起作用?

时间:2009-04-17 07:37:06

标签: sifr

我遇到了启用sifr 3的网站的加载时间/大小问题,并发现在我的应用程序中多次请求了字体swf。这可以在firebug的网络选项卡以及apache日志中看到。

http://novemberborn.net/flash/prefetching-movies上有一些预取说明。但是,这不起作用,预取方法不可用(仍在文档中!)。我知道预取是自动完成的,但这似乎不起作用。

即使在sifr下载包的演示页面中,有一个空的浏览器缓存,我也会获得rockwell.swf和cochin.swf的几个点击!两者都有Firefox 3和IE7 ......

有机会轻松快速解决问题吗?

问候, 西蒙

2 个答案:

答案 0 :(得分:0)

从根本上说,这是浏览器和Flash播放器之间的问题。当sIFR将Flash影片插入页面时,浏览器会使用Flash影片的路径初始化Flash插件。如果影片尚未在本地缓存中,则从服务器请求它。由于电影是在几毫秒内插入的,这意味着每个插入的电影都会发出请求。

sIFR尝试通过预取Flash电影来防止这种情况发生。它基于会话cookie在每个浏览器会话中执行此操作。这仅仅触发了对电影文件的请求,并且希望在替换开始时该文件位于缓存中。因此,尽早加载sIFR JavaScript代码并通过将Flash影片传递给sIFR.activate()方法来正确激活sIFR非常重要。

根据我的经验,可靠地测试此过程的唯一方法是清除浏览器缓存,关闭所有浏览器实例(以摆脱会话cookie),然后打开浏览器并直接进入要测试的页面。我发现浏览器中的活动监视器不可靠,因此要么检查HTTP代理还是服务器日志。

我可以做的另一项改进是尝试检测预取的进度,并推迟替换元素直到预取完成。

答案 1 :(得分:0)

你可以选择搬到Cufon吗?你会发现它更容易使用而且不古怪。