首頁  >  問答  >  主體

ruby - rails 怎么清除浏览器的资源缓存?

一rails项目 现在有一问题:我修改了这个swf文件的参数后。页面加载的是上一个swf文件,例如:
1:有一个 attack.swf 文件要在这个页面中预览
2:发现attack.swf中一些元素的位置x,y不正确。
3:于是我在页面中修改了这些参数,用程序打包后再次生成attack.swf
4:然后刷新见面。
这个时候我发现我修改的参数并没有起作用,国为浏览器加载的是上一个swf文件没有加载我新打包的文件。我清除浏览器的缓存后刷新就可以看到我新修改的swf文件。
问:有没有什么方法在rails 中清除这些缓存呢?

PHPzPHPz2712 天前641

全部回覆(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
  • 取消回覆