一rails項(xiàng)目 現(xiàn)在有一問題:我修改了這個(gè)swf文件的參數(shù)後。頁(yè)麵加載的是上一個(gè)swf文件,例如:
1:有一個(gè) attack.swf 文件要在這個(gè)頁(yè)麵中預(yù)覽
2:發(fā)現(xiàn)attack.swf中一些元素的位置x,y不正確。
3:於是我在頁(yè)麵中修改了這些參數(shù),用程序打包後再次生成attack.swf
4:然後刷新見麵。
這個(gè)時(shí)候我發(fā)現(xiàn)我修改的參數(shù)並沒有起作用,國(guó)為瀏覽器加載的是上一個(gè)swf文件沒有加載我新打包的文件。我清除瀏覽器的緩存後刷新就可以看到我新修改的swf文件。
問:有沒有什麼方法在rails 中清除這些緩存呢?
學(xué)習(xí)是最好的投資!
這個(gè)其實(shí)跟RAILS沒有關(guān)係。
主要是網(wǎng)站的資源伺服器的配置,可能是Apache/Nginx也可能是ruby自備的那些。
可以模仿ruby處理資源檔案的方式,如果swf改變了,就換個(gè)名字,避免快取問題
去看看Rails的 Asset Pipeline http://guides.rubyonrails.org/asset_p...
rails會(huì)在你的靜態(tài)資源上加上一個(gè)參數(shù),attack.swf?t=12
一旦偵測(cè)到你的靜態(tài)資源改變了,這個(gè)參數(shù)就會(huì)變成attack.swf?t=13
你也可以參考這個(gè)方式,原理就是瀏覽器認(rèn)為你的這個(gè)資源是新的,然後會(huì)去重新載入進(jìn)來。
不然總是304 Not Modified,總瀏覽器快取太麻煩了。