无论我在.css文件中更改了什么,页面都保持不变 - 更重要的是,既没有更改链接标记,也没有指向另一个.css文件,也没有完全删除它没有区别。应用html代码中的其他更改。网页的源代码显示了应有的一切。当我将链接标记从以前的文件重定向到我现在使用的标记时(以及在发生此问题时标记中有一些更改,以测试我的网页的行为),这种行为就开始了;两个文件中的更改都不会影响页面。
第一次发生这种情况时,这是由包含的代码块中的头标签副本引起的(对于标题,左侧菜单等 - 它们的头部部分覆盖了主页的头部)并且问题解决了从这些文件中删除这些冗余磁头。但是当我下次更改链接标记时,它又发生了。我在包含的文件中找不到任何头部,但问题仍然存在(我现在只能看到解决方案是删除包含的文件并将代码直接复制到文件中,但这意味着需要大量冗余代码)。 / p>
如何解决此问题,以便我的页面响应.css文件中的更改而不增加冗余?如何确保我可以在一个地方更改.css文件的链接而没有这样的问题?
我必须以某种方式unload the CSS file吗?
我在Firefox和Chrome中都看到了这个问题。我使用PSPad编写代码,以防它发挥作用。
编辑:我现在已经清除了浏览器缓存,之前我将.css文件的链接从一个更改为另一个,但没有任何帮助。现在我接受最好的答案,说问题在于缓存,我开始a related question以找出如何解决缓存问题。如果其他问题的答案会说在这种情况下我可以确定问题不在于缓存(非常不可能,但是普通的缓存方法失败 - 问题解决也不太可能),我会更新这个问题并开始搜索其他可能的问题,但现在消息似乎很清楚:当网页忽略.css文件中的更改时,缓存是责备。
EDIT2:这个问题是一个错误的结果,我的问题的解决方案在其他地方,但是有很多问题与stackoverflow上的这个编写有关,所以我添加那些真正有缓存问题的人的简短列表(这个问题在其存在的第一天被观察了足够多次以便它可能值得):
Firefox browser does not reload the update CSS/JS files
What is an elegant way to force browsers to reload cached CSS/JS files?
Making sure a web page is not cached, across all browsers
最后,来自超级用户的一个:
答案 0 :(得分:3)
你的css正在缓存。如果清除缓存,则会看到差异。
您可以应用一些技术来破坏缓存,例如在文件名或链接中附加时间戳或内部版本号。如果这是出于开发目的而且您的生产副本不会有太大变化,我不会打扰,因为清除浏览器的缓存就足够了。
答案 1 :(得分:1)
首先检查您是否在正确的文件中进行了更改(相信它始终发生)。
其次,如果您正在使用正确的文件,请检查您的更改是否可以应用。例如,使用!important
强制浏览器使用该CSS样式。
第三,当你处理JS或CSS时始终确保你没有使用缓存副本(同样一直发生)
请检查此项以强制您的浏览器忽略缓存
答案 2 :(得分: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>
很抱歉要求你提供一些我真正想要的东西,感谢教我如何解决缓存问题(我几乎肯定将来某天会面对它们)。
答案 3 :(得分:0)
在浏览器中,尝试使用键盘组合CTRL-F5清除网站上的缓存...
答案 4 :(得分:0)
也许有很多技巧,但重要的技巧是:
检查您要更新的文件(CSS文件)。
文件更新后,进入本地主机。
按 CTRL + F5 更新缓存的文件,然后工作就完成了。