2014-09-02 77 views
1

我們的網站使用的靜態文件了大量的這樣的方式:警予資產管理

$cs = Yii::app()->clientScript; 
$cs->registerCssFile(Yii::app()->staticServers[0]. 'static/css/site.css'); 
$cs->registerScriptFile(Yii::app()->staticServers[1]. 'static/js/site.js'); 

其中:

$staticServers = array('server1', 'server2',) 

的問題是:如何在更新靜態文件並下載之後,使用戶的瀏覽器緩存清除。

回答

1

嘗試只添加nocache修復:

Yii::app()->clientScript->registerScriptFile(Yii::app()->staticServers[1]."static/js/site.js?nocache=".random(100, 999)); 

UPDATE嘗試尋找this post

+0

對不起,誤會。我說錯了。更新靜態文件後如何讓用戶的瀏覽器緩存清除?您的解決方案假定永久缺乏緩存。 – 2014-09-02 06:51:33

+0

@ user3929024你是什麼意思'更新文件後清除緩存?您要麼忽略緩存並採取新的文件內容或從緩存中獲取文件內容,我不認爲您可以明確地清除緩存。 – Justinas 2014-09-02 06:57:34

+0

我的意思是說,在Yii資產管理器中創建具有特定日記的子文件夾,或更改名稱以防止瀏覽器由於新的修改而從先前緩存的文件中獲取內容。但它涉及同一臺機器上的文件。如何做與其他服務器上的文件類似的東西? – 2014-09-02 08:03:13