2012-01-25 39 views
0

我爲圖像使用jQuery preloader,我想知道是否可以在運行加載程序之前檢查頁面是否已緩存在用戶瀏覽器中,這可能嗎?如果頁面已被緩存,則禁用jQuery預加載程序的功能

該插件運行在DOM負載功能

$(document).ready(function() { 
    $("body").queryLoader2(); 
}); 

我可以寫這樣的:

$(document).ready(function() { 
    if (!page_cached) { 
     $("body").queryLoader2(); 
    } 
    else { 
     //do nothing 
     return false; 
    } 
}); 

感謝您的回覆,謝謝。

回答

1

你可以通過ajax做一個頭部請求,如果它返回304而不是200,那就意味着它在緩存中。一些在javascript會是這樣:

 

function isInCache(url) 
{ 
    var http = new XMLHttpRequest(); 
    http.open('HEAD', url, false); 
    http.send(); 
    return http.status; 
} 
//then 
$(document).ready(function() { 
    if (isInCache(your_page_url) != "304") { 
     $("body").queryLoader2(); 
    } 
    else { 
     //do nothing 
     return false; 
    } 
}); 
 

希望它可以幫助

+0

感謝您的快速反應,我已經試過了,它似乎工作,我目前正在尋找到自我緩存我的網站瓦特/ JS 。 – Tribbey

+0

我的問題是我使用CSS3Pie爲我的純CSS3元素,我試圖減少IE瀏覽器渲染元素的時間,preloader工作正常,但我寧願沒有返回用戶等待,如果網站已被緩存。任何關於在哪裏查看自我緩存的建議? – Tribbey

相關問題