posts - 431,  comments - 344,  trackbacks - 0

          緩存這東西,在一定程度上加快了頁面的裝載,但是也常常給我們帶來麻煩。我在上篇文章里簡單介紹了jQuery中Load方法的使用。在實際運用中,我們可能會碰到瀏覽器緩存的問題。比如我就在IE7里碰到這個問題。

          jQuery Load樣本代碼:

          $(document).ready(function(){
          
            $("#labels").load("/blog/categories/labels.html");
          
            //在頁面裝載時,在ID為#labels的DOM元素里插入labels.html的內容。
          
          });

          當我更新了labels.html以后,在IE7里load方法仍舊在使用舊的labels.html,就算我按刷新鍵也不管用。好在jQuery提供一個防止ajax使用緩存的方法,把下面的語句加在head的javascript文件里,就可以解決問題。

          $.ajaxSetup ({
          
              cache: false //關閉AJAX相應的緩存
          
          });

          此外我再介紹幾種方法解決緩存的方法。注意:我沒有在jQuery load的問題上測試過,這些方法僅供參考!

          1.更改文件名,比如把labels.html改成lables_new.html,但是這是沒有辦法的辦法,一般沒有人這么做。

          2.在labels.html后加上特定時間,比如lables.html?20081116。在實際工作中,在我更新css/javascript文件后,我都是用這種辦法來防止文件被緩存。

          3.在labels.html文件的頂部加入以下聲明:

          <META HTTP-EQUIV="Pragma" CONTENT="no-cache">
          
          <META HTTP-EQUIV="Expires" CONTENT="-1">

          4.load函數不僅可以調用HTML,也可以調用script,比如labels.php,可以在php文件里使用header函數:

          <?php
          
          Cache-Control: no-cache, must-revalidate");
          
          ?>
          主站蜘蛛池模板: 定结县| 沙田区| 黄大仙区| 漳平市| 峨眉山市| 桂平市| 汶上县| 贵州省| 定日县| 渭源县| 玉溪市| 澄城县| 松潘县| 上饶县| 襄樊市| 黄浦区| 宣化县| 于田县| 贞丰县| 汉川市| 常熟市| 措美县| 将乐县| 阿鲁科尔沁旗| 永丰县| 治多县| 双辽市| 镇雄县| 石家庄市| 遂溪县| 澄城县| 高尔夫| 延吉市| 叙永县| 措美县| 沐川县| 璧山县| 筠连县| 永德县| 江川县| 汕头市|