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