當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