2013-04-17 40 views
2

这不是一个编程问题本身。我正在使用名为getfreehosting的免费虚拟主机。我正在使用他们的在线文件管理器来传输文件。有时,我在源代码上所做的更改不会在我上传后立即反映出来。即当我在Chrome上运行我的应用程序时,然后转到查看页面源代码,我意识到JavaScript运行仍然是旧版本!在大多数情况下,这不会发生,但当它发生时,这是非常令人沮丧的。我试过清除浏览器的缓存。我甚至试图直接在他们的服务器上编辑文件。有时它解决了这个问题,但有些时候它没有解决问题。源代码更改不会立即反映上载到我的网页主机

这是在将文件传输到Web主机时遇到的常见问题?或者,这可能是使用免费虚拟主机的一个缺点?

谢谢。

回答

1

现代浏览器中有一个CACHE系统。 尝试清除缓存,然后再浏览您的网站。

1

您可以尝试清除浏览器的缓存或ol'CTRL + F5刷新技巧。否则,托管服务提供商可能正在使用缓存层来帮助简化资源使用。

1

服务器有责任向浏览器指明脚本文件在被提供给浏览器时的可缓存生命周期(1小时,1天,1个月等)。这是一个服务器端设置。

缓存对于服务器端效率和客户端性能都非常重要,因此您不想完全击败它。

您可以缩短缓存生存时间的服务器端设置,也可以在脚本文件中使用版本号(如jQuery),以便在修改脚本文件时为其提供一个新文件名,如“ myscript-v12.js“并更新相应的HTML文件以引用新文件名。然后,只要浏览器获得新的HTML文件,就会保证获取新的JS文件,因为新的文件名永远不会存在于浏览器缓存中。

如果您在开发和修改您的网站时对您个人而言只是一个问题,那么您只需在上传新文件后清除浏览器缓存,然后在浏览器加载该页面时,缓存中就不会有任何版本并将被迫从服务器获取新版本。

相关问题