国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
瀏覽器緩存的研究 - bluesky - JavaEye技術網(wǎng)站

1. 概述

1.1. 說明

瀏覽器默認情況下緩存是開啟的,當我們向服務器發(fā)送某個請求并正確返回(狀態(tài)碼為 200 )的時候,返回的內容(包括頁面、圖片、 css 文件、 js 文件、 xml 文件等)是自動被緩存的。這樣在以后需要請求同樣內容的時候,瀏覽器會先從緩存中查找,如果緩存的內容沒有過期,則直接返回緩存的內容,否則則會去服務器再請求一次并返回結果并在瀏覽器緩存。(如果是刷新頁面的情況,則會去服務器檢查一次瀏覽器緩存的內容是否已經有新的更新,如果有新的更新,則重新返回新的內容并緩存,否則(狀態(tài)碼為 304 )則直接從瀏覽器緩存中取得內容。)

我們的需求只是在第一次請求頁面的時候,把以后將要加載的較大文件一次性加載完成并緩存在瀏覽的緩存中,這樣以后訪問頁面請求同樣內容的時候就會直接從緩存中取得了。

由于緩存文件存放在硬盤上一個隱藏目錄,所以,即使斷電或重啟電腦之后,緩存的內容依然存在依然可用。

2. 圖片緩存

2.1. 預加載圖片代碼

 

Html代碼
  1. <html>  
  2.   
  3. <head>  
  4.   
  5. <script type="text/javascript" src="jquery.js"></script>  
  6.   
  7. <script>  
  8.   
  9. function loadImage(url, callback) {   
  10.   
  11.     var img = new Image(); // 創(chuàng)建一個 Image 對象,實現(xiàn)圖片的預下載   
  12.   
  13.     img.src = url;   
  14.   
  15.      
  16.   
  17.      if (img.complete) { // 如果圖片已經存在于瀏覽器緩存,直接調用回調函數(shù)   
  18.   
  19.         callback.call(img);   
  20.   
  21.         return; // 直接返回,不用再處理 onload 事件   
  22.   
  23.     }   
  24.   
  25.     
  26.   
  27.     img.onload = function () { // 圖片下載完畢時異步調用 callback 函數(shù)。   
  28.   
  29.         callback.call(img);// 將回調函數(shù)的 this 替換為 Image 對象   
  30.   
  31.     };   
  32.   
  33. };   
  34.   
  35.     
  36.   
  37. /*function f(){   
  38.   
  39. $('#imgdiv23').append(this);   
  40.   
  41. $('#imgdiv2').append(this);   
  42.   
  43. }*/   
  44.   
  45. </script>  
  46.   
  47. </head>  
  48.   
  49. <body onload="loadImage('http://www.yunnany.cn/jingdiandaquan/UploadFiles_2558/200809/20080901110309997.jpg',function(){alert(' 加載圖片完成! ' + this.width)})">  
  50.   
  51. <div id="imgdiv23"></div>  
  52.   
  53. fdsfsafadsf   
  54.   
  55. <div></div>  
  56.   
  57. </body>  
  58.   
  59. </html>   
 

 

2.2. 預加載頁面截圖

2.2.1. 首次加載

只是加載圖片,并不顯示圖片。

 

 

加載中

加載完成(顯示圖片的寬度)

2.3. 其它頁面的代碼

該頁面加載一張圖片,該圖片與上面預加載的圖片 url 一樣。

Html代碼
  1. <html>  
  2.   
  3. <head>  
  4.   
  5. </head>  
  6.   
  7. <body>  
  8.   
  9. <div><img src="http://www.yunnany.cn/jingdiandaquan/UploadFiles_2558/200809/20080901110309997.jpg"/></div>  
  10.   
  11. </body>  
  12.   
  13. </html>   
 

 

2.4. 其它頁面截圖

該圖片會從瀏覽器緩存中直接讀取,瞬間加載完成。

 

 

加載完成

3. XML 文件緩存

3.1. 說明

對于 xml 文件是否是從緩存讀取的方法是通過 firefox httpfox 插件觀察 http 請求 header 信息(服務器端響應狀態(tài)碼)來完成的。

3.2. 頁面代碼

 

Html代碼
  1. <html xmlns="http://www.w3.org/1999/xhtml">  
  2.   
  3. <head runat="server">  
  4.   
  5.     <title> 無標題頁 </title>  
  6.   
  7.     <script src="jquery.js" type="text/javascript"></script>  
  8.   
  9.     <script type="text/javascript">  
  10.   
  11.         $(document).ready(function(){   
  12.   
  13.                $.ajax({url:"http://www.testserver.com:8080/fckeditor/test.xml ",   
  14.   
  15.                     success:function(xml){   
  16.   
  17.                             $(xml).find("province").each(function(){   
  18.   
  19.                                 var t = $(this).attr("name");//this->  
  20.   
  21.                                 $("#DropProvince").append("<option>"+t+"</option>");   
  22.   
  23.                            });   
  24.   
  25.                      }   
  26.   
  27.                });   
  28.   
  29.             $("#DropProvince").change(function(){   
  30.   
  31.                     $("#sCity>option").remove();   
  32.   
  33.                     var pname = $("#DropProvince").val();   
  34.   
  35.                     $.ajax({url:"City.xml",   
  36.   
  37.                         success:function(xml){   
  38.   
  39.                             $(xml).find("province[name='"+pname+"']>city").each(function(){   
  40.   
  41.                                 $("#sCity").append("<option>"+$(this).text()+"</option>");   
  42.   
  43.                             });   
  44.   
  45.                          }   
  46.   
  47.                     });   
  48.   
  49.             });   
  50.   
  51.         });   
  52.   
  53.     </script>  
  54.   
  55. </head>  
  56.   
  57. <body>  
  58.   
  59.     <form id="form1">  
  60.   
  61.     <div>  
  62.   
  63.         <select id="DropProvince" style="width:60px;">  
  64.   
  65.             <option> 請選擇 </option>  
  66.   
  67.         </select>  
  68.   
  69.         <select id="sCity" style="width:60px;">  
  70.   
  71.         </select>  
  72.   
  73.     </div>  
  74.   
  75.     </form>  
  76.   
  77. </body>  
  78.   
  79. </html>   
 

 

3.3. 截圖

通過比較可以發(fā)現(xiàn)首次加載之后再次加載頁面的時候, xml 文件是直接從瀏覽器緩存中獲取的。

 

首次加載的時候狀態(tài)碼為 200 。( Result 列)

首次加載

再次加載的時候 Result 列為( Cache )。

再次加載

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
div嵌套html不用iframe
jQuery 綁定監(jiān)聽事件 and 移除監(jiān)聽事件
jquery應用 圖片拖拽排序
CSS+JS折角廣告代碼
jQuery相冊圖片掀開切換代碼
thinkphp + 美圖秀秀api 實現(xiàn)圖片裁切上傳,帶數(shù)據(jù)庫
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服