我在启用 sifr 3 的网站的加载时间/大小方面遇到问题,并发现在我的应用程序中多次请求字体 swf。这可以在 firebug 的网络选项卡以及 apache 日志中看到。
On http://novemberborn.net/flash/prefetching-movies http://novemberborn.net/flash/prefetching-movies有一些预取指令。然而这不起作用,预取方法不可用(仍在文档中!)。我知道预取是自动完成的,但这似乎不起作用。
即使在 sifr 下载包的演示页面中,在浏览器缓存为空的情况下,我也获得了 rockwell.swf 和 cochin.swf 的多次点击!均适用于 Firefox 3 和 IE7...
有机会进行简单快速的修复吗?
问候,
西蒙
从根本上来说,这是浏览器和Flash播放器之间的问题。当 sIFR 将 Flash 影片插入页面时,浏览器会使用 Flash 影片的路径初始化 Flash 插件。如果本地缓存中还没有该电影,则会向服务器请求该电影。由于电影是在几毫秒内插入的,这意味着对每个插入的电影都会发出请求。
sIFR 尝试通过预取 Flash 影片来防止这种情况发生。它根据会话 cookie 在每个浏览器会话中执行此操作。这只会触发对电影文件的请求,并且希望在替换开始时该文件已在缓存中。因此,尽早加载 sIFR JavaScript 代码并通过将 Flash 影片传递到 sIFR 来正确激活 sIFR 非常重要。sIFR.activate()
method.
根据我的经验,可靠地测试此过程的唯一方法是清除浏览器缓存,关闭所有浏览器实例(以摆脱会话 cookie),然后打开浏览器并直接进入您要测试的页面。我发现浏览器中的活动监视器不可靠,因此要么通过 HTTP 代理进行检查,要么通过服务器日志进行检查。
我可以做的一项剩余改进是尝试检测预取的进度,并推迟替换元素,直到预取完成。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)