搜尋

首頁  >  問答  >  主體

ruby - rails 怎麼清除瀏覽器的資源快取?

一rails項目 現在有一問題:我修改了這個swf文件的參數後。頁麵加載的是上一個swf文件,例如:
1:有一個 attack.swf 文件要在這個頁麵中預覽
2:發現attack.swf中一些元素的位置x,y不正確。
3:於是我在頁麵中修改了這些參數,用程序打包後再次生成attack.swf
4:然後刷新見麵。
這個時候我發現我修改的參數並沒有起作用,國為瀏覽器加載的是上一個swf文件沒有加載我新打包的文件。我清除瀏覽器的緩存後刷新就可以看到我新修改的swf文件。
問:有沒有什麼方法在rails 中清除這些緩存呢?

PHPzPHPz2845 天前721

全部回覆(2)我來回復

  • PHP中文网

    PHP中文网2017-04-21 10:57:55

    這個其實跟RAILS沒有關係。
    主要是網站的資源伺服器的配置,可能是Apache/Nginx也可能是ruby自備的那些。
    可以模仿ruby處理資源檔案的方式,如果swf改變了,就換個名字,避免快取問題

    回覆
    0
  • 高洛峰

    高洛峰2017-04-21 10:57:55

    去看看Rails的 Asset Pipeline http://guides.rubyonrails.org/asset_p...

    rails會在你的靜態資源上加上一個參數,attack.swf?t=12
    一旦偵測到你的靜態資源改變了,這個參數就會變成attack.swf?t=13

    你也可以參考這個方式,原理就是瀏覽器認為你的這個資源是新的,然後會去重新載入進來。
    不然總是304 Not Modified,總瀏覽器快取太麻煩了。

    回覆
    0
  • 取消回覆