2012-09-09 16 views
0

我有我的default.thtml中文件CakePHP调用真正的旧css文件。如何刷新

... 
<?php echo $this->Html->css('style.css'); ?> 
... 
<style type="text/css"> 
     // other css rules 
</style> 
... 

如果我合并的“其他的CSS规则”在此规则将永远不会被使用的style.css结束。为什么? 我不知道如何继续。我已经手动删除了cakephp的缓存,清除了Firefox的缓存,甚至在我调用css文件时尝试追加?v=0.1,但没有任何变化。

+0

查看您的浏览器(Chrome/Firefox/Safari)网络/文件检查器,查看哪个文件正在加载。 Cake不是“调用”任何CSS。这只是浏览器从服务器加载文件。找出这是否是您的实际问题。 – deceze

+0

** .css **后缀是否必需?我认为HTML'css()'辅助方法将** .css **自动添加到文件名中? –

回答

1

回答nonslone是好的,但这将禁止使用缓存的优势,它每次加载页面都会加载新的CSS文件。除了使用time()函数之外,尝试使用filemtime()函数,该函数将输出文件的上次修改日期时间,所以如果css文件被修改,浏览器将只加载css;如果chace为空,则(只有)才会加载该文件。

<?php echo $this->Html->css('style.css?'.filemtime('style.css')); ?> 
1

您确定更新后的css文件真的上传到服务器吗?

当您在浏览器中加载css文件时会发生什么? domainname.com/css/style.css

请尝试以下方法强制浏览器禁用缓存

<?php echo $this->Html->css('style.css?'.time()); ?>

+0

谢谢。像魅力一样工作。 –