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