⑴ 如何給html網頁設置緩存
在Apache環境下,可以通過在.htaccess文件中添加下面的代碼,設置圖片的HTTP緩存和有效期(需要開啟apache的headers模塊支持):
# Image and Flash content Caching for ONE Year blog.gimhoy.com<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf)$"> Header set Cache-Control "max-age=3156000"
其中max-age後面這個數字就是設置的緩存有效期(以秒為單位),比如上面的代碼設置了網站的圖片使用為期一年(3156000秒)的HTTP緩存。
在Nginx下,可以通過修改nginx.conf配置文件,來修改緩存設置:
location ~* \.(flv|gif|jpg|jpeg|png|ico|swf)$ { expires 1y; access_log off; break; }
同樣的方法,你也可以給js和css文件設置緩存。
⑵ 如何讓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 緩存機制,以便於您獲取更多的相關知識。
⑶ html5緩存的問題,如何正確設置
html5緩存正確的設置辦法:
1、啟用緩存
設置方法:
<html manifest="example.appcache">
...
</html>
2、設定緩存訪問的范圍,配置到MANIFEST中:
CACHE MANIFEST
# v1 - 2011-08-13
# This is a comment.
http://www.example.com/index.html
http://www.example.com/header.png
http://www.example.com/blah/blah
⑷ 如何能html改圖片時直接使用本地緩存,完全不走流量(html 或 javascript 解決方案,chrome瀏覽器)
首先…作為吊絲程序員(學生現役)…給幾個吊絲的方法。
預載入隱藏
//在預載入的時候,直接讀出隱藏的圖片
$("#blablabla").append($.("#someImg").clone());
$("#blablabla").last().attr("sec",$.load("url~~~",function(){
//做一下隱藏
}));
然後在一直到某點--》之後…就把原來的圖片替換掉。
style的樣式…如果還不一樣的話……就是自己代碼的問題了……
用web Strorage
簡單來說…把圖片數據流化並且放入web strorage,然後在讀取的時候生產圖片,並且放入img容器。
304狀態是必要的
伺服器端和客戶端使用Conditional Gets功能驗證緩存數據
客戶端將條目放在緩存里,在過期之後重新驗證。伺服器端必須實現Conditional GET功能(使用ETags或者last modified的header)。
JS代碼:
$.ajax({
url:'/Home/ExpiresWithConditional',
ifModified:true,//這里是關鍵
cache:true,
success:function(data,status,xhr){
$('#content').html(data.count);
}
});
而讓服務端響應304狀態是確保在圖片被修改過以後,能夠再返回一個不同的值……
所以……
流量還是不要省了……→_→
⑸ html5 離線緩存怎麼實現的
HTML5離線存儲和本地緩存
一.離線存儲
有一個web應用有三個文件index.html,a.js,b.css,現在需要把js和css文件緩存起來
1.在index.html里加上<htmlmanifest="test.manifest">
2.manifest清單格式如下
CACHEMANIFEST
#上面一句必須
#v1.0.0
#需要緩存的文件
CACHE:
a.js
b.css
#不需要緩存的文件
NETWORK:
*
#無法訪問頁面
FALLBACK:
404.html
3.manifest文件的mime-type必須是text/cache-manifest類型
注意點:
1.對於每個index.html?id=1或index.html?id=2都會分別緩存index.html頁面,可以通過chrome瀏覽器Resources/ApplicationCache觀察
2.如果想更新緩存內容,只要修改下manifest文件即可,如改版本號v1.0.1
4.離線存儲如果資源有更新,可以通過如下代碼來監聽,但第一次載入還會是原來的版本
window.applicationCache.addEventListener('updateready',function(e){
if(window.applicationCache.status==window.applicationCache.UPDATEREADY){
window.applicationCache.swapCache();
if(confirm("lodingnew?")){
window.location.reload()
}
}
},false)
二.本地緩存
localStorage.setItem("key","value")
localStorage.getItem("key","value")
localStorage.removeItem("key")
localStorage.clear()
1.本地存儲永不過期,除非自己去清除
2.可以通過chrome瀏覽器Resources/LocalStorage來查看
3.不同域下就算key相同取不到的值也不同,如localhost和127.0.0.1
⑹ html5如何緩存整個網站
http://www.111cn.net/wy/html5/52979.htm
按上面連接去做。
⑺ 如何緩存html文檔
專業瀏覽器自帶功能。
⑻ 請教偽靜態的html如何強制緩存
在後台添加信息時就自動創建了用於前台顯示的html,每添加一條信息就自動生成一個html頁面,使前台可以直接點擊訪問,後台生成頁面時需要按照一定的規則,如html文件的命名是不重復的但又和數據相關聯,一般名稱中都會有一個添加數據是自動獲取當前產生的id作為html文件名的一部分。
⑼ html5怎麼緩存動態html頁面
HTML頁面本身可以是模板,獲取後台數據後動態更新頁面。這種情況下用HTML5的OfflineWeb功能可以緩存作為模板的HTML頁面。或者向FT那樣,乾脆把頁面壓縮存放在localstorage里,當然有容量限制。
⑽ html頁面會緩存嗎
單純的html頁面不會緩存,htm是一種標記語言,用來描述和標記的,不能實現緩存。html裡面的JavaScript代碼是當這個html頁面載入時瀏覽器解釋執行,也不可以實現數據緩存。