当swf嵌入页面并且不在浏览器中本地缓存时,浏览器会触发两次swf请求。 Here is a simple example
第一个请求返回预期的200 OK
,第二个请求在第一个请求完成后触发304 Not Modified
,表示该文件现在已在本地缓存。
为什么这个2 nd 请求被触发,我该如何阻止它?
答案 0 :(得分:2)
我想我明白了。我更仔细地阅读了Firefox的错误报告,这看起来是由我安装的AdBlock Plus引起的。首先,我确认您的更新页面仍然会出现该错误,并再次进行再现。然后,我禁用了AdBlock Plus并尝试了相同的测试。双重要求不再发生。因此,如果您安装了该扩展程序,或者可能是类似的扩展程序,则可能是原因。
答案 1 :(得分:1)
我刚刚确认这也适用于我。
起初,我认为这是由于Firefox的一个错误。请参阅this page上的常见问题解答#16。然而,他们引用的错误似乎是固定的。
然后,我查看了一些使用SWFObject 2.2嵌入SWF的网站。没有发生双GET。我认为不同的是,在我的代码中,我在页面的<head>
而不是正文中调用swfobject.embedSWF。将脚本放在头部是SWFObject 2.2文档推荐的内容(这与旧版本的SWFObject略有不同)。
所以,如果我是你,我会尝试这样做:
答案 2 :(得分:1)
我相信这也可以通过运行Firebug来触发 - 尝试在禁用Firebug时使用LiveHTTPHeaders(或其他一些像http查询的http嗅探应用程序)检查您的浏览器请求。