2

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

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

即使在 sifr 下载包的演示页面中,在浏览器缓存为空的情况下,rockwell.swf 和 cochin.swf 也获得了多次点击!Firefox 3 和 IE7 都...

有机会简单快速地修复吗?

问候,西蒙

4

2 回答 2

0

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

于 2009-10-09T06:03:41.997 回答
0

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

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

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

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

于 2009-04-18T20:15:27.503 回答