2013-02-21 143 views
3

我正在开发一个网站,并且遇到了一个非常令人不安的问题。我的代码不会在任何浏览器中刷新,这意味着不仅仅是Internet Explorer,还有Google Chrome和Firefox。浏览器不会反映html文件中所做的更改

的事情是,在以前版本的HTML文件,我曾与在它(<a href="">Send request</a>)链接一个div。今天,我已将该链接更改为段落(<p>Send request<p>)。

当我加载我的页面时,它仍然显示链接。当我将该段落注释掉并重新加载页面时,没有链接,我的段落已被检出。我在Chrome中检查了源文件,是的,源文件是正确的。但是,浏览器仍然显示不存在的链接,并且删除浏览器历史记录也无济于事。

任何想法?

+1

听起来像服务器上的缓存问题。 – Lowkase 2013-02-21 18:55:34

+0

尝试关闭Chrome中的缓存。 – bobber205 2013-02-21 18:56:41

+0

如果清除浏览器的缓存,会发生什么情况?你可以做的是后缀所有的资源'?time = <?php echo microtime(true);例如:

1

如果您使用的是Firefox安装分机称为web developer

然后进入禁用 - >禁用缓存 - >禁用整个缓存。

如果您使用的是Chrome或Chrommium开放开发萤火虫(F12),然后进入设置(底部,右),使文本“禁用缓存”复选框。

在两种情况下记住与对照+移+ R(不同的时间:P)再充电的网页。

并且记住当你结束工作时禁用这个选项。

+0

谢谢...我安装了插件,并使用CTRL + SHIFT + R刷新了约20次的页面,但它仍然不反映对HTML文件所做的最新更改... – 2013-02-21 19:06:56

+0

你有没有启用(禁用缓存选项)我在解决方案中说的? – 2013-02-21 19:08:54

+0

是的。缓存已被禁用。 – 2013-02-21 19:15:51

0

另一个诀窍是在您的html标签后添加一个错误的查询,并强制浏览器获取一个新页面。

例如:

MySite.html - > MySite.html Q = 1,MySite.html当q = 2,MySite.html q = 3的,等等???。

正如其他人所说,它似乎是缓存您的主机提供商已启用。

3

问题可能是由于您的浏览器缓存HTML页面。 这个问题可以通过以下方法避免 -

  • 清除浏览器的缓存

  • 如的mypage.html尝试使用虚假查询?random = 6 此方法会使浏览器完全在GET请求上重新载入页面。

  • 使用META标记如下

    <meta http-equiv="pragma" content="no-cache" /> 
    

    这有时是除了如下

    <meta http-equiv="expires" content="-1" /> 
    

    已经观察到,有时上述两种标记IE中忽略伴随着另一元。 建议的解决方法是使用标签两次,即在页面的开始和结束处。这是由于原因,因为首先在页面加载时由浏览器填充64K缓冲区。如果缓冲区未填充,则“杂注”将被忽略。将它放在文档的末尾有利于不缓存。

相关问题