当 swf 嵌入到页面中并且没有在浏览器中本地缓存时,浏览器会触发两个对 swf 的请求。这是一个简单的例子。
第一个请求返回一个 expected 200 OK
,第二个请求304 Not Modified
在第一个请求完成后触发 a ,表明文件现在在本地缓存。
为什么第二次请求被触发,我该如何防止它?
我刚刚证实这也发生在我身上。
起初,我认为这是由于 Firefox 的一个错误。请参阅此页面上的常见问题解答问题 #16 。然而,他们引用的错误似乎已修复。
因此,我查看了我自己的一些使用 SWFObject 2.2 嵌入 SWF 的网站。双 GET 没有发生。我认为不同之处在于,在我的代码中,我在<head>
页面而不是正文中调用 swfobject.embedSWF。SWFObject 2.2 文档建议将脚本放在头部(这与旧版本的 SWFObject 有点不同)。
所以如果我是你,这就是我会尝试的:
我相信这也可以通过运行 Firebug 来触发 - 在禁用 Firebug 时尝试使用 LiveHTTPHeaders(或其他一些 http 嗅探应用程序,如 Charles)检查浏览器请求。