当swf嵌入在页面中,并且而不是本地缓存在浏览器中时,浏览器会触发swf的两个请求。 Here is a simple example。为什么Firefox会触发两个嵌入式swfs请求?
第一请求返回预期200 OK
,并且所述第二请求与第一请求已经完成之后触发304 Not Modified
,表示该文件现在本地缓存。
这是为什么2 第二要求解雇,我该怎么预防呢?
当swf嵌入在页面中,并且而不是本地缓存在浏览器中时,浏览器会触发swf的两个请求。 Here is a simple example。为什么Firefox会触发两个嵌入式swfs请求?
第一请求返回预期200 OK
,并且所述第二请求与第一请求已经完成之后触发304 Not Modified
,表示该文件现在本地缓存。
这是为什么2 第二要求解雇,我该怎么预防呢?
我相信这也可以通过运行Firebug的触发 - 尝试检查你的浏览器中使用的LiveHTTPHeaders(或其他一些HTTP嗅探程序像查尔斯),而你已经萤火虫禁用请求。
我刚刚证实,这也发生在我身上。
起初,我认为这是由于Firefox的一个错误。请参阅this page上的常见问题问题#16。然而,他们引用的错误似乎是固定的。
因此,我看了一些我自己的网站,使用SWFObject 2.2嵌入SWFs。双重GET没有发生。我认为不同的是,在我的代码中,我在页面的<head>
而不是正文中调用了swfobject.embedSWF。将脚本放在首位是SWFObject 2.2文档建议的内容(这与SWFObject的旧版本略有不同)。
所以这里就是我想要尝试,如果我是你:
我想我想通了。我更仔细地阅读Firefox的错误报告,这看起来是由我安装的AdBlock Plus引起的。首先,我验证了您的更新页面仍然存在该错误,并且再次进行了重新创建。然后,我禁用了AdBlock Plus并尝试了相同的测试。双重要求不再发生。因此,如果您安装了该扩展程序,或者可能是类似的扩展程序,那可能是原因。
我想,如果你只看到一个请求,你可能只是一个缓存的SWF。你是否证实你所看到的一个请求是200行?我看到双重要求,并没有Adblock Plus的(或安装任何奇怪的插件) http://www.dweebd.com/examples/double-swf-request/no-weird-plugins.png – 2009-07-10 22:49:08
哪个版本的Firefox是你在用吗? – Jacob 2009-07-11 02:00:35
即使有这个更新的例子包括直接SWFObject的,并调用文件的
嵌入电话,我仍然看到双重要求。 http://www.dweebd.com/examples/double-swf-request/embed-in-head.html – 2009-07-10 06:32:11