『壹』 怎麼設置css,js文件的緩存時間
無法直接設置,但可變通。
比如調用一個style.css文件,你調用的時候可以在這個文件名後面加上參數,如style.css?date=20131123
date後面的參數值隨當前日期發生變化,也就每隔一天要重新讀取一次。
不過這個在靜態頁面時可能要稍麻煩一點了,因為靜態頁面需要動用js腳 本來動態載入才能實現。
可以試試網路搜 jqury 動態載入css樣式表
『貳』 js中本地存儲使用的api
JavaScript 中本亮談地存儲使用的 API 有以下兩種:
1. LocalStorage:用於存儲數據的介面,可以存儲字元串類型的數據。可用來實現類似 cookie 的功能,但相比較而言使用更為方便。LocalStorage 中存州高儲的數據會一直保留,直到通過 JavaScript 代碼或手動清除瀏覽器緩存才會被清除。
2. SessionStorage:類似 LocalStorage,但它僅在窗口關閉前有效。與 LocalStorage 不同的是,SessionStorage 的數敬跡碰據會在窗口或標簽頁關閉後被清除。因此對於短暫的存儲需求,SessionStorage 更為適合。
簡單的存儲可以使用如下代碼:
```javascript
// 存儲數據到LocalStorage中
localStorage.setItem('name', 'JavaScript');
// 從LocalStorage中獲取數據
localStorage.getItem('name');
// 刪除LocalStorage中的數據
localStorage.removeItem('name');
// 存儲數據到SessionStorage中
sessionStorage.setItem('name', 'JavaScript');
// 從SessionStorage中獲取數據
sessionStorage.getItem('name');
// 刪除SessionStorage中的數據
sessionStorage.removeItem('name');
```
『叄』 js cache-control怎麼設置
cache-control是用於控制網頁的緩存.常見的取值有private、no-cache、max-age、must- revalidate等,默認為private。
cache-control有哪些屬性?
其作用根據不同的重新瀏覽方式分為以下幾種情況:cache-control
打開新窗口(_blank)
private、no-cache、must-revalidate 再次訪問伺服器Cache-control: max-age=5(表示當訪問此網頁後的5秒內再次訪問不 會去伺服器)
在地址欄回車值為private或must-revalidate則只有第一次訪問時會訪問伺服器,以後就不再訪問。值為no-cache,那麼每次都會訪問。值為max-age,則在過期之前不會重復訪問。
按後退按扭值為private、must-revalidate、max-age,則不會重訪問,值為no-cache,則每次都重復訪問
按刷新按扭無論為何值,都會重復訪問
cache-control在哪裡設置
在IIS的網站屬性中的http頭信息選項卡中,勾選啟用內容過期後有三個相關選項.
一、立即過期
啟用此選項後,每次請求都會向伺服器申請下載最新版本。瀏覽器不做緩存處理。狀態返回碼200。Cache信息是:no-cache。這種方式可以保證客戶端看到的永遠是最新版本,也就是說如果伺服器端進行了更新,一定能被客戶端看到。
二、此時段後過期與過期時間
這兩種情況下,瀏覽器緩存將其作用。注意,第一次的狀態是200,同時cache-control為30天(對應的秒數)。就是說這個網頁會有30天的緩存。所以,而後的狀態都會是304.
cache-control應該怎麼設置更好?
對於圖片,css,等長期不變化的內容應該設置較長的過期時間(如180天)
建議:
1.對於js和css可以獨立到一個二級域名中,啟用GZIP,且設置較長的過期時間
2.對於圖片獨立到另一個二級域名中,且設置較長的過期時間
對於靜態文件(html)如果長期不更新也可以設置稍長的過期時間(如30天),需要根據當前網站的實際而定。
對於動態文件(php)可以設置較短的過期時間(如120秒)
注意:在過期時間內,如果您對文件內容進行了變化,對於用戶或蜘蛛都不能瀏覽或抓取到你更改後的內容。 這也是動態文件設置較短過期時間的主要原因。cache-control的設置只是為了節約搜索引擎蜘蛛資源,讓其抓取更多有效內容,千萬不能弄巧成拙。
『肆』 js中如何設置cookie的保存時間呢
varcookie=function(){
//expires參數是Date()實例
varset=function(cookieName,cookieValue,expires,path,domain,secure){
varA=arguments;
varH=arguments.length;
varB=(2<H)?A[2].toGMTString():"";
varG=(3<H)?A[3]:"";
varD=(4<H)?A[4]:"";
varF=(5<H)?A[5]:false;
document.cookie=cookieName+"="+escape(cookieValue)+";expires="+B+";path="+G+";domain="+D+((F==true)?";secure":"")
}
//cname:cookie名稱,itemName:該cookie中某一項名稱
varget=function(cname,itemName){
varA=document.cookie.match(newRegExp("(^|)"+cname+"=([^;]*)(;|$)"));
if(A){
if(itemName){
A=A[2].match(newRegExp("(?:^|&)"+itemName+"=([^&]*)(?:&|$)"))
returnA?A[1]:"";
}
else{
returnA[2];
}
}
else{
return"";
}
}
return{
set:set,
get:get
}
}();
//使用:
cookie.set("test", "值", new Date(Date.parse('2016-1-1')))
『伍』 怎麼用js實現把數據存儲到本地
可以用localstorge或者是瀏覽器本地資料庫,這對瀏覽器有要求,低版本的IE是不支持的