2009-10-06 61 views
1

这更像是一个最佳实践问题,但它对我来说非常重要,因为它让我多次认为我的js或css修改不起作用。重新加载JavaScript和CSS,最佳实践:PHP

我使用PHP工作,并将我的CSS和JS放在单独的文件中。有时,当我点击循环重新加载按钮时,我的更改无法启动。我使用重新加载或在URL后重新输入Enter。有时候两者都不起作用,我必须做一些疯狂的事情,比如重启我的浏览器来清除缓存。为了测试我是否正在使用旧JS或新JS,我使用了不同的警报消息,并且当我发现它仍在使用旧的(最近发生变化的)JS时。同样的CSS,我使用不同的颜色边框等来知道它是否正在拾取新的。不用说,我敢肯定有比这更好的做法:)

回答

1

Ctrl-Shift-R或Ctrl-F5(Cmd + F5 mac等效?)将执行硬刷新并强制用户代理下载所有内容从头开始。

+0

谢谢你的答案。两者之间有什么区别,如果有的话?只是好奇。谢谢。 – Chris 2009-10-06 05:33:40

+0

Ctrl-Shift-R更方便,但我认为IE只接受CTRL-F5 - 我可能是错的。 – 2009-10-06 05:48:24

1

您可以强制在重新加载时从服务器重新下载,使用类似于Firefox 上的Ctrl + F5(指示浏览器必须从服务器重新询问文件,而不是使用它具有的版本缓存在你的机器上),或在浏览器中取消激活缓存(至少在开发CSS/JS相关内容时)。

取消激活缓存事件的一个好工具是Firefox web-developper extension:它提供了一个工具栏,可以在进行前端开发时快速访问几个有用的选项。

1

对于开发,您可以在您的CSS文件的URL的末尾添加一个随机数。喜欢的东西:

<script type="text/javascript" src="/myscript.js?<?php echo rand(1, 200000);?>"></script> 

或者

<link rel="stylesheet" href="/styles.css?<?php echo rand(1, 200000);?>"> 

只是不这样做在您的实际网站,否则您的用户将再次下载每个请求的文件,使您的网站更慢。

+0

感谢您的回答。除了消除了按Ctrl + F5的手动步骤之外,与其他Ctrl + F5其他人建议的方法相比,此方法还有其他优点吗?我问,因为我希望在需要时使用Ctrl + F5方式,而不是添加需要在执行生产环境之前删除的代码。 – Chris 2009-10-06 06:08:19

+0

我想不出任何其他优点。您可以添加一个检查来查看服务器是否生产,并添加或不添加随机数。那么你不必担心它:) – 2009-10-06 15:31:01

0

Shift点击重新加载按钮。