jQuery的load方法是用來異步加載HTML代碼片段的,但在IE中,經常會出現緩存的問題。有時候即使HTML文件有了更新,還是無法獲取到最新的內容。
這是因為IE的緩存機制,如果請求的URL和緩存中的URL相同,IE會直接從緩存中獲取內容,而不是重新請求。
為了解決這個問題,可以通過給請求的URL添加時間戳或隨機數等參數,使IE認為請求的URL和緩存中的URL不同,從而強制IE重新請求內容。
$.ajaxSetup ({ cache: false //關閉緩存 }); $("#content").load("page.html?time=" + new Date().getTime()); //添加時間戳參數
另外,當頁面中多次使用load方法加載同一個文件時,也可以通過改變文件名或路徑,使IE認為請求的URL不同,從而避免緩存問題。
$("#content1").load("page.html?time=" + new Date().getTime()); $("#content2").load("page.html?rnd=" + Math.random()); //添加隨機數參數
總之,針對IE緩存問題,我們需要做的就是讓請求的URL和緩存中的URL不同,方法可以是添加時間戳、隨機數等參數,或者改變文件名、路徑等。這樣就可以保證我們獲得的始終是最新的內容。