【发布时间】:2013-04-28 10:44:10
【问题描述】:
我正在优化 Flash 网站以尽可能快地加载,在某些极端情况下,加载 SWF 最多需要 10 秒。除了 SWF 文件外没有任何外部资源,只有 JS 嵌入到 HTML 页面中。
正如此跟踪所示,SWF 请求仅在 DOMContentLoaded 事件触发后才由浏览器发送,这需要 8 秒。在大多数情况下,SWF 开始加载大约 2 秒。
有没有办法加快请求延迟?目前 SWF 是通过 Javascript 插入的,使用 SWFObject 库,因此只有在浏览器呈现 HTML 页面后,JS 才会执行并将 SWF 标记添加到网页中。如果我将相同的 SWF 标记添加到 <head> 部分会怎样。这会以某种方式预加载 SWF,导致 JS 在稍后在 <body> 中执行时立即获取 SWF?
通常加载时优化的经验法则是使用尽可能少的请求(文件)。但 SWF 文件必须与 HTML 文件分开。或者有没有办法将其作为base64 嵌入到HTML 中,并让JS 将其转换为文件并立即将其加载为Flash <object> 标签?只要它与所有浏览器兼容/可靠,我愿意尝试任何技巧。
规格:
互联网:我有 5 MBit/sec 的互联网连接,我可以在 280 毫秒内 ping 服务器。
位置:网络服务器在美国,我目前在印度孟买。
文件大小:SWF 20 KB,HTML 5 KB。
【问题讨论】:
-
flash swf 文件有多大?这个 swf 文件是否会将其他 swf 文件加载到自身中?
-
Flash SWF 文件大约 20 KB,主 HTML 页面大约 5 KB。
-
您是否将其与 20KB 的图像进行了比较,看看它们的行为是否相同?
标签: performance flash web loading latency