1

我有我的 default.ctp 文件

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

如果我在 style.css 末尾合并“其他 css 规则”,则永远不会使用此规则。为什么?我不知道该怎么做。我已经手动删除了cakephp的缓存,清除了firefox的缓存,甚至在我调用css文件时尝试追加?v=0.1,但没有任何改变。

4

2 回答 2

4

nonsone 的回答很好,但这将禁用使用缓存的优势,它会在每次加载页面时加载新的 css 文件。不要使用time()函数,而是尝试使用filemtime()函数,该函数将输出文件的最后修改日期时间,因此浏览器只会在 css 文件被修改或(绝对)chace 为空时加载 css。

<?php echo $this->Html->css('style.css?'.filemtime('style.css')); ?>
于 2012-12-02T17:23:23.693 回答
1

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

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

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

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

于 2012-10-01T09:12:34.867 回答