js防緩存
① 如何讓html頁面不緩存,js永久緩存
當瀏覽不同Url時,瀏覽器會自動將當前訪問的地址進行一次緩存;而第二次訪問時著調用緩存下來的頁面,從而達到頁面快速載入(頁面載入優化)的目的;
因此,我們可以給頁面後面設定個不同的值,讓頁面保持沒錯訪問的不同即可達到不緩存的目的了!
下面是個簡單的示例:
復制代碼 代碼如下:
<script>
document.write("<script type='text/javascript' src='/js/test.js?"+Math.random();+"'></script>");
</script>
其他的類似,只需在地址後加上+Math.random()
注意:因為Math.random() 只能在Javascript 下起作用,故只能通過Javascript的調用才可以
最後加一個ajax也不讓緩存的方法
復制代碼 代碼如下:
xmlHttp.open("GET", "ajax.asp?now=" + new Date().getTime(), true);
記得後面的now=" + new Date().getTime()是重點,需要帶參數的。
希望本文所述對大家的javascript程序設計有所幫助。
以上是雲棲社區小編為您精心准備的的內容,在雲棲社區的博客、問答、公眾號、人物、課程等欄目也有的相關內容,歡迎繼續使用右上角搜索按鈕進行搜索js , html , 頁面 不緩存 javascript 緩存、javascript 清除緩存、javascript緩存數據、javascript 本地緩存、javascript 緩存機制,以便於您獲取更多的相關知識。
② 能用JS或者前端的什麼方法實現清除瀏覽器緩存嗎
可以用JS實現清除瀏覽器緩存,解決方法如下:
1、在靜態頁面也就是以.html,.jsp,.aspx,.php結尾的文件中在<dead></head>中加入以下代碼。
注意事項:
JavaScriptJavaScript基於對象和事件驅動並具有相對安全性的客戶端腳本語言。也是一種廣泛用於客戶端Web開發的腳本語言,常用來給HTML網頁添加動態功能,比如響應用戶的各種操作。
③ 如何自動給CSS、JS添加版本號防止客戶端緩存。
怎麼說呢,個人有個笨點的辦法,就是在代碼中加上JS版本號的全局變數,應用JS時利用後台代碼添加。
這樣更改過JS時,將JS的文件名後邊帶上個自定義的版本號,再將JS版本號的變數修改一下就好了。其他程序由於是動態的讀取JS文件名,所以不用再修改,也不用怕漏改。
④ 如何防止js和css緩存
解決辦法一:每次修改js或css文件後,都要手工修改那個版本號,注意:是每修改一次(哪怕僅僅是改了一個字元)都要修改版本號;
解決辦法二:如果嫌手工修改太麻煩,那可以通過程序來自動修改(用隨機數做版本號)。如果你的網站是動態的,那可以通過後台程序來改,比如ASP的:
<link rel="stylesheet" href="static/mimi/css/main.css?v=<%=rnd()%>" type="text/css"/>
PHP的:
<link rel="stylesheet" href="static/mimi/css/main.css?v=<?php echo mt_rand(); ?>" type="text/css"/>
如果是靜態網站那就要js腳本來實現了,這個稍微麻煩點,這里就不說了。
其實上述方法一和方法二的目的都是為了使每次打開的js或css的url不同,這樣瀏覽器就不會去緩存區取數據,而是直接到網站下載。
如果上述方法仍然無效,那就是你的瀏覽器的緩存機制存在問題,比如「從不檢查網頁的新版本,除非手動刷新」,這個就要你自己去設置了。
⑤ 火狐怎麼禁用js緩存 iteye
有2個辦法,1是臨時修改,2是永久修改。
1、同時按下Ctrl + Shift + Delete;
選中」Cache」;
回車確認。
此時,瀏覽器的緩存會被清理。
2、在地址欄中打」about:config」;
找到」network.http.use-cache」;
雙擊它直至它變為」False「。
⑥ JS清除IE瀏覽器緩存的方法
本文為大家詳細介紹下js中自動清除ie緩存的幾種方法 大家可以根據自己的需求自由選擇適合自己的 希望對大家學習js有所幫助js中自動清除ie緩存方法 — 常用 對於動態文件 比如 index asp?id= 或者 index aspx?id= 相信有經驗的程序員都知道怎樣禁止瀏覽器緩存數據了 但是對於靜態文件(css jpg gif等等) 在什麼場合下面我們需要禁止瀏覽器緩存他們 怎麼做? 方法一 Dojo中我們可以用簡單的方法完成 在dojo xhrGet(包括post)等方法中都包含preventCache屬性 此屬性的含義 「默認為啟用瀏覽器緩存 否則將通過自動增加不同的參數來確保瀏覽器緩存失效」 我們只襪租要把此屬性賦值為 「true」即可 方法二 document write(" 其中 ver= 的 就是版本號 一般都是採用 CVS 或其他工具生成的開發版本號 這樣真正做到了應該緩存的時候緩存靜態告茄兆文件 當版本有更新的時候從獲取最新的版本 並更新緩存 對於圖像 來有效利用和更新緩存 js清除瀏覽器緩存 二 為 了減小瀏覽器與伺服器之間網路傳輸壓力 往往對靜態文件 如js css 修飾的圖片做cache 也就是給這些文件的HTTP響應頭加入 Expires和Cache Control參數 並指定緩存時間 這樣一定時間內瀏覽器就不會給伺服器發出任何的HTTP請求(除了強制刷新) 即使在 這段時間內伺服器的js或css或圖片文件已經更新多次 但瀏覽器的數據依然是原來最能初cache的舊數據 有沒有辦法讓瀏覽器拿到已經修改後的最新數 據呢? 有 方法是用ajax請求伺服器最納歲新文件 並加上請求頭If Modified Since和Cache Control 如下:
復制代碼 代碼如下: $ ajax({ type: "GET" url: "static/cache js" dataType: "text" beforeSend :function(xmlHttp){ xmlHttp setRequestHeader("If Modified Since" " "); xmlHttp setRequestHeader("Cache Control" "no cache"); } });這里用了jquery 這樣瀏覽器就會把最新的文件替換掉本地舊文件 當然 這里還一個問題就是js必須知道伺服器更新了那個js css 圖片 利用cookie和時間版本應該可以解決 jquery自從 開始就有ifModified和cache參數了 不用自己加header ifModified Boolean Default: false Allow the request to be successful only if the response has changed since the last request This is done by checking the Last Modified header Default value is false ignoring the header cache Boolean Default: true Added in jQuery if set to false it will force the pages that you request to not be cached by the browser
復制代碼 代碼如下: lishixin/Article/program/Java/JSP/201311/20378