Ajax 板


LINE

所謂的 cache 一直都是網頁設計上常碰到的問題, 當我們一切事情都很正常也不想去修改他的時候, 我們恨不得他每個東西都cache 起來, 但是萬一剛剛發生慘案,不小心 deploy 炸彈到了網站, 又會哭天搶地想要趕快把這些 cache 給幹掉~ cache 也常常是網頁設計上的幽靈問題之一, 因為你可能根本就不知道他的存在,也可能因為在不同瀏覽器的行為, 就讓你疏忽了快取造成問題的可能性。 (請注意,我們這裡講的是瀏覽器把資料存放的 client side cache, server side 也有可能會把response cache , 但是那個在這先不談,而且那跟前端其實比較沒有直接關係。) 快取可能導致問題的狀況我們簡單分列以下兩種 1.js file cache 這種狀況常發生在「用 script tag載入js檔案的情形」, 他的常見癥狀就是我明明有修改 js 的內容, 卻沒發生應該有的改變。 這種時候可以透過關閉 browser 的快取設定, ie可以設定「每次」皆向伺服器要求資料。 基本上非常建議關閉,雖然我們有Cfrl+F5 (in windows) command + shift +r (in mac) 這個大絕招,不過偶爾還是會手殘、瀏覽器發瘋、靈異現象, 就是沒有更新的狀況。 要怎麼判斷確定是不是沒更新到咧? 來,跟我一起唸 f i r e b u g ,對,就是這樣。 打開firebug 開 script tab ,中間有個下拉式選單, 選到你要查的那隻 js 看他裡面呈現的結果是新的還舊的, 這樣就很清楚了。 萬一如果是舊的怎麼辦?? 跟著做以下步驟 1.用瀏覽器開該 .js 路徑,2.按下ctrl+f5 如果這時候還是舊的,那你該檢查的就是你是不是更新錯檔案了, 有時候倒楣一點是會剛好有其他人設定 server cache , 但是你不知道,我以前接手前人專案時踢過一次這個雷, 非常的痛,你不會想嘗試的。 如果碰到的是 server cache ,那重開 server 通常會有幫助。 (再次重申,這種情形大概百中選一或千中選一吧) 另一個方法,跟下一個問題一起講 2.ajax page cache 這個問題咧,問題本身在於 js 是沒問題的, 但是因為他有向 server 要回應,而且還同樣的東西要好幾次, 結果伺服器就很勤儉的把回應快取起來了。 如果是一般的request 還沒有關係, 如果今天這個東西是牽扯到資料更新或者是資料操作, 這可就糗大囉~~~ 這個時候我們就要知道,因為我們平常向Server要東西, server 是用網址(Request URL)來做回應, 所以當我們想要讓伺服器每次都認為我們送的是不同回應, 那就很簡單,拿 new Date().getTime() 來兜在 url上就好。 ex. $.get("xxx.php?t=12321323213123",{},fn_ok,fn_error); 每次數字都不一樣的話就能確保瀏覽器不會亂亂cache , 對於這個問題,.js 檔的原理也是一樣的, 寫成 <script type="text/javascript" src="xxx.js?213123"/> 這種表示法(也有人是乾脆就綁版本號,ex v=1,v=2..etc) --- 好~第二篇就介紹到這裡~再會 -- 這系列技術性的東西不多,但是應該都會「曾經」讓人覺得很痛苦的事情。XD -- 我:一半的日子讓你說,我聽你說你的所有______________________________________ ______________________________________一半的日子我想說,對你說過去的所有:我 _______________________________________________________ 在討論中妥善扮演兼具聆聽與分享的角色,是我們一生的課題。 _______________________________________________________ --



※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.5.204
1F:推 iam87king:push 06/07 21:16
2F:推 JeremyJoung:這兩個問題 我都碰過 1.我是在js內敲版本號 要是號碼 06/08 10:11
3F:→ JeremyJoung:不對 就重新一次 2.就是加亂數了 不過我是用流水號 06/08 10:12
4F:推 kurotanshi:大推 cache 問題常常搞死我 orz 06/08 14:24
5F:推 knuckles:我是js檔名加流水號 每次一更新就改檔名 06/08 17:04
6F:推 iam87king:我是直接清瀏覽記錄 06/08 23:21
7F:→ cloudccw:我是傳亂數@@ 06/11 11:17
8F:推 mesak:受益良多 (Y) 06/11 21:05







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:e-shopping站內搜尋

TOP