兼容解決 IE 、火狐、谷歌瀏覽器中 Iframe框架的頁面緩存的方法


在我們的項目中往往少不了廣告的成分,有的時候我們為了方便修改一般會選擇iframe嵌套進來的方法,開始的時候沒怎么留意,一般自己換廣告也是強制刷新,直到后來看廣告統計的ip發現好多廣告都下架了半個月了可是居然還有點擊,才注意到了這一塊,那就是瀏覽器為了加載速度會緩存iframe里面的內容,而好多客戶是根本不懂強制刷新的,那么我們就需要做一些操作不讓緩存,我們一般會選擇后面加上隨機數的方法來做。

下面是網上普遍說的方法:

原文是這么說的:

不管是IE還是火狐瀏覽器,對於iframe 都是有緩存的,可能很多開發的朋友都沒有注意,

包子在開發安徽商之都百萬網友秒殺盛宴活動 

秒殺專題的時候就遇到類似的狀況,即使你的iframe地址是php動態頁面也都會出現瀏覽器緩存,

一開始,我以為只要在php的頁面使用header禁止緩存就OK了,但是貌似不行。。額。。

我們先來看下,火狐下解決Iframe框架的頁面緩存的方法,

從國外的一個博客上看到的一個方法,原文如下:

Hi

I have a page that contains an iframe. The contents of the iframe are created dynamically,

so every time I come to the page containing this iframe I want to force the iframe to refresh. I added these meta tags to the iframe’s head:
 


<META http-equiv="Expires" content="Mon, 26 Jul 1997 05:00:00 GMT">
<META http-equiv="Last-Modified" content="Sat, 10 Nov 1997 09:08:07 GMT">
<META http-equiv="Cache-Control" content="no-store, no-cache, must-revalidate">
<META http-equiv="Pragma" content="no-cache"> 
 
and I also add a different random number to the iframe src each time:
 
<IFRAME SRC="http://lab.wehefei.com/index.php?r=xO9X7hEp2wgW5ZTSB38dCrKQnkyq4MA_" WIDTH=900 HEIGHT=600>
 
 
 
It works in Firefox, but in IE6 it still caches the old page.
 
http://lab.wehefei.com
 

額。意思你明白不???嘿嘿,還好,我的計算機英語非常過關,哈哈。,。,。。我不就翻譯了。,

很簡單的,火狐 中 Iframe框架的頁面緩存的方法方法兩個:

1、使用上面的meta頭信息,當然如果使用php動態頁面,你最好也發送header頭信息,禁止下緩存

2、添加一個隨機數。在html的后面。呵呵

下面。我們來看下,IE中解決iFrame緩存問題的方法有兩種:

(1) 每次主頁面刷新時隨機更換iframe的name;

(2) 每次主頁面刷新時在iframe的src路徑頁面賦予一個隨機get參數,例如:

<iframe src=”http://www.example.com/thepage.html” name=”aframe”></iframe>

<script type=”text/javascript”>

document.frames["aframe"].location.href += (document.frames["aframe"].location.href.indexOf(“?”) != -1 ? “?” : “&”) + (new Date()).getTime();

</script>

但是呢,我覺得他這種方法過於麻煩,需要區分IE和谷歌然后分別來寫相應的實現方式。

下面來說一種不需要區分就能沒有緩存的方法:

<script type="text/javascript">
        document.write('<iframe src="/ad_footer.html?'+ (new Date()).getTime() +'" width="918" scrolling="no" frameborder="0" height="41"></iframe>');
</script>

這種方法經測試有效,也不需要區分瀏覽器,ok,希望可以幫到大家,如果有其他更簡單的方法也可以發布上來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM