2

无论我在 .css 文件中进行什么更改,页面都保持不变 - 更重要的是,既不更改链接标记以使其指向另一个 .css 文件,也不完全删除它没有任何区别。应用了 html 代码中的其他更改。网页的源代码显示了应有的一切。当我将链接标签从以前的文件重定向到我现在使用的文件时,这种行为就开始了(此外,在发生此问题时,标签发生了一些变化,以测试我的网页的行为);两个文件的更改都不会影响页面。

这是第一次发生这种情况,这是由包含的代码块中的 head 标签副本引起的(对于标题、左侧菜单等 - 它们的头部覆盖了主页的头部),问题通过删除这些来解决这些文件中的多余磁头。但是当我下次更改链接标签时,它又发生了。我在包含的文件中找不到任何头部,但问题仍然存在(我现在能看到的唯一解决方案是删除包含的文件并将代码直接复制到文件中,但这意味着大量冗余代码)。

我怎样才能解决这个问题,让我的页面响应 .css 文件的变化而不增加冗余?如何确保我可以仅在一个地方更改指向 .css 文件的链接而不会出现此类问题?

我是否必须以某种方式卸载 CSS 文件

我在 Firefox 和 Chrome 中都看到了这个问题。我使用 PSPad 编写代码,以防万一它发挥作用。

编辑:我现在已经清除了浏览器缓存,并且我之前将 .css 文件的链接从一个更改为另一个,但没有任何帮助。现在我接受最好的答案,说问题出在缓存中,我开始一个相关的问题来找出如何解决缓存问题。如果另一个问题的答案会说在这种情况下我可以确定问题不在缓存中(非常不可能,但是普通的缓存问题解决方法也不太可能失败),我会更新这个问题并开始搜索其他可能的问题,但现在消息似乎很清楚:当网页忽略 .css 文件中的更改时,缓存是罪魁祸首

EDIT2:这个问题是一个错误的结果,我的问题的解决方案在其他地方,但是有很多与这个问题相关的问题,正如在stackoverflow上写的那样,所以我为那些真正有问题的人添加了一个简短列表使用缓存(这个问题在其存在的第一天就被查看了足够多的时间,因此它可能值得):

样式表不更新

Firefox 浏览器不会重新加载更新 CSS/JS 文件

强制浏览器重新加载缓存的 CSS/JS 文件的优雅方法是什么?

确保在所有浏览器中不缓存网页

最后,来自超级用户的一位:

配置 xampp 从不缓存来自本地主机的页面

4

5 回答 5

3

你的 CSS 正在被缓存。如果您清除缓存,您将看到不同之处。

您可以应用一些技术来破坏缓存,例如将时间戳或内部版本号附加到文件名或链接。如果这是出于开发目的并且您的生产副本不会有太大变化,我不会打扰,因为清除浏览器的缓存就足够了。

于 2013-06-26T11:22:58.553 回答
1

首先检查您是否在正确的文件中进行了更改(相信它一直在发生)。

其次,如果您正在使用正确的文件,请检查您的更改是否可以应用。例如用于!important强制浏览器使用该 CSS 样式。

第三,当您处理 JS 或 CSS 时,请始终确保您没有使用缓存副本(再次发生这种情况)

请检查此项以强制您的浏览器忽略缓存

开发者浏览器没有缓存

于 2013-06-26T11:29:39.783 回答
1

在您的浏览器上,尝试使用键盘组合 CTRL-F5 来清除您在网站上的所有缓存...

于 2013-06-26T11:43:50.063 回答
1

解决了,这与缓存无关!我认为 .css 文件是罪魁祸首,但错误是在椅子和键盘之间。

我的 html/php 代码的主体如下所示:

<body>

<?php
  include 'header.php';
  include 'left_menu.php';
  include 'footer.php';
?>

*main page code*

</body>

我的页脚和主页都移到了左侧菜单中(我不知道究竟是什么导致了这个问题,但我现在知道如何解决它)。我错误地将此归咎于 .css 文件中的一些错误,所以我问了这个问题。如果我改变了背景颜色或在我的主页留下的微小空间上清楚地看到了其他一些更改,那么很明显 .css 文件会正常更新并且问题出在其他地方。

我刚刚更改了包含标签的位置,一切正常:

<body>

*main page code*

<?php
  include 'header.php';
  include 'footer.php';
  include 'left_menu.php';
?>

</body>

很抱歉问你一些我真正想要的东西,感谢你教我如何解决缓存问题(我几乎可以肯定我将来有一天会面对它们)。

于 2013-06-27T09:11:58.597 回答
0

可能有很多提示,但重要的提示是:

  1. 检查您正在更新的文件(CSS 文件)。

  2. 在文件中更新后,转到本地主机。

  3. CTRL+F5更新缓存文件,工作完成。

于 2018-07-06T07:20:30.333 回答