Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从服务器而不是浏览器缓存加载已激活的HTML文件_Javascript_Jquery_Html_Server_Browser Cache - Fatal编程技术网

Javascript 从服务器而不是浏览器缓存加载已激活的HTML文件

Javascript 从服务器而不是浏览器缓存加载已激活的HTML文件,javascript,jquery,html,server,browser-cache,Javascript,Jquery,Html,Server,Browser Cache,我有一个实时网站,但由于变化总是存在,我需要用户查看最新的HTML文件,即从服务器而不是浏览器缓存加载文件 当本网站上线时,我不知道: <meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate"> <meta http-equiv="Pragma" content="no-cache"> 我已经在必要时使用HTML、CSS、jQuery和PHP创建了我的网站 我该怎么做

我有一个实时网站,但由于变化总是存在,我需要用户查看最新的HTML文件,即从服务器而不是浏览器缓存加载文件

当本网站上线时,我不知道:

<meta http-equiv="Cache-control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">

我已经在必要时使用HTML、CSS、jQuery和PHP创建了我的网站

我该怎么做才能使网站直接从服务器加载

我用meta标记更新了HTML代码,但是由于我的缓存中已经有了页面,新的HTML代码(带有meta标记)没有运行。我可以简单地努力刷新和工作,但用户不会知道或这样做

如果需要强制每个人的浏览器重新加载普通的
.html
页面,可以将添加到Web服务器配置中:

Nginx

location ~* \.(html)$ {
 add_header Cache-Control "no-cache, no-store";
}
Apache

<filesMatch ".(html)$">
    Header set Cache-Control "no-cache, no-store"
</filesMatch>
这将强制浏览器加载新文件

<meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
我用meta标记更新了HTML代码,但是由于我的缓存中已经有了页面,新的HTML代码(带有meta标记)没有运行。我可以简单地努力刷新和工作,但用户不会知道或这样做

如果需要强制每个人的浏览器重新加载普通的
.html
页面,可以将添加到Web服务器配置中:

Nginx

location ~* \.(html)$ {
 add_header Cache-Control "no-cache, no-store";
}
Apache

<filesMatch ".(html)$">
    Header set Cache-Control "no-cache, no-store"
</filesMatch>
这将强制浏览器加载新文件。


<meta http-equiv=“Pragma” content=”no-cache”><meta http-equiv=“Expires” content=”-1″><meta http-equiv=“CACHE-CONTROL” content=”NO-CACHE”>
试试这个。但是,当您强制从服务器而不是缓存加载站点时,会影响性能。因此,在您将这些元标记添加到站点之前,请先问问自己,这是否确实必要,是否值得站点因此而遭受的性能损失。




试试这个。但是,当您强制从服务器而不是缓存加载站点时,会影响性能。因此,在您将这些元标记添加到站点之前,请先问问自己,这是否确实必要,是否值得站点因此而受到的性能影响。

难道您不能用这些
元标记更新html吗?如果没有,您可以更新什么?@IraklisGkougkousis我用meta标记更新了HTML代码,但是由于我的缓存中已经有了页面,新的HTML代码(带有meta标记)没有运行。我可以简单地进行硬刷新和工作,但用户不会知道也不会这样做。如果您还可以访问服务器的配置,缓存控制头也可以提供帮助:@LaurentS。这对我来说是新的,我会调查一下的,谢谢。@LaurentS。除了你之前的建议,还有其他方法吗?你不能用那些
meta
标记更新html吗?如果没有,您可以更新什么?@IraklisGkougkousis我用meta标记更新了HTML代码,但是由于我的缓存中已经有了页面,新的HTML代码(带有meta标记)没有运行。我可以简单地进行硬刷新和工作,但用户不会知道也不会这样做。如果您还可以访问服务器的配置,缓存控制头也可以提供帮助:@LaurentS。这对我来说是新的,我会调查一下的,谢谢。@LaurentS。除了你以前的建议,还有别的方法吗?嘿,我知道这个技巧,但是更改不在脚本或css文件中。我已经更新了我的答案,包括发送
缓存控制
头的方法,如果您有权访问您的Web服务器配置,浏览器将请求干净的版本。我使用的是cPanel服务器,将不得不深入挖掘,谢谢!在您的servers webroot目录中创建一个
.htaccess
文件,该文件具有以下内容:
缓存控制:“无缓存,无存储”
谢谢,我会研究它。嘿,我知道这项技术,但是更改不在脚本或css文件中。我已经更新了我的答案,包括发送
缓存控制
头的方法,如果您有权访问您的Web服务器配置,浏览器将请求干净的版本。我使用的是cPanel服务器,将不得不深入挖掘,谢谢!在您的servers webroot目录中创建一个
.htaccess
文件,该文件具有以下内容:
缓存控制:“无缓存,无存储”
谢谢,我会研究它。嗨,Lakshmi,正如我在问题中提到的,我已经知道元标记,问题是针对已经打开站点的用户(代码中没有元标记),他们的代码不会被更新,因此元标签不会工作。嗨,Lakshmi,正如我在问题中提到的,我已经知道元标签,问题是对于已经打开网站的用户(没有元标签的代码),他们的代码不会被更新,因此元标签不会工作。