静态HTML页面不缓存js文件的方法

Nginx 配置页面请求不缓存的方法 在Web开发中,缓存是提升网站性能的重要手段,但对于某些敏感页面(如登录页面、用户个人信息页面等),缓存可能会导致安全风险或数据不一致问题。因此,合理配置Nginx以确保某些页面不被缓存是非常必要的。通过合理配置 Nginx 的 HTTP 响应头,可以有效控制页面缓存行为,从而保护敏感信息、确保数据实时性并满足安全合规要求。本文介绍了全局禁止缓存、针对特定路径禁止缓存以及针对静态文件禁止缓存的配置方法,并提供了验证配置是否生效的方式。以下是通过 Nginx 配置禁止页面缓存的具体方法。 阅读详情

    今天做项目时候遇到一个问题,由于采用了生成静态的CMS系统,但是页面头部需要显示用户登录的信息,也就是,没有登录时,显示登录框,用户登录后,则显示登录信息。于是用到了js调用php文件的方法。但是由于浏览器的缓存,用户登录后常常还是显示登录框,因为js文件被缓存,没有重新下载。

     由于js文件是用<script>标签引入的,无法加随机数参数以使每次都重新下载。经过研究采用以下方法达到目的:

这里是头部的html代码:

 

<table width="770" border="0" align="center" cellpadding="0" cellspacing="0">
  
<tr>
    
<td width="377" height="35" align="left" nowrap="nowrap" id="user_status_div">
    
<script type="text/javascript">
    
var jsFile = document.createElement("script");
    jsFile.setAttribute(
"type","text/javascript");
    jsFile.setAttribute(
"src","/member/user_status_js.php?random="+Math.random());
    document.getElementById(
'user_status_div').appendChild(jsFile);
    
</script>
    
</td>
    
<td width="393" align="right" nowrap="nowrap"><a href="http://www.nmc.gov.cn/weatherdetail/57494.html" title="点击查看详细天气预报" target="_blank">武汉</a><span style="font-size: 9pt">
    
<script src="/weather.php"></script>
    
</span><span>&nbsp;<a href="http://www.nmc.gov.cn/weatherdetail/57494.html" title="点击查看详细天气预报" target="_blank">更多</a>&nbsp;&nbsp;<a 
onclick="this.style.behavior='url(#default#homepage)';this.sethomepage('http://www.cnmamia.com');return false;" 
href
="http://www.qg.org.cn#">设为首页</a>&nbsp;<a href='#' onClick="javascript:window.external.AddFavorite('{dede:global name="cfg_basehost"/}','{dede:global name="cfg_webname"/}');">收藏本站</a></span></td>
  
</tr>
</table>

这里是生成调用js的php文件:

 

<?php
if(!isset($_COOKIE['DedeUserID'])||$_COOKIE['DedeUserID']=='')
{
 
?>
document
.getElementById("user_status_div").innerHTML='<form id="form1" name="form1" method="post" action="/member/index_do.php">[<a href="/member/index_do.php?fmdo=user&dopost=regnew">会员注册</a>]&nbsp;用户名<input type="text" name="userid" id="userid" class="user" />&nbsp;密码<input name="pwd" type="password" class="user"  />&nbsp;<input type="submit" name="btnsubmit" id="btnsubmit" value="登录" class="login" /><input type="hidden" name="fmdo" value="login"><input type="hidden" name="dopost" value="login"><input type="hidden" name="gourl" id="gourl" value="'+window.location.href+'"><input name="nochvd" type="hidden" id="nochvd" value="1" /></form>';
 
<?php
}
else
{
require_once(dirname(__FILE__)."/config.php");
require_once(dirname(__FILE__)."/../include/config_base.php");

$dsql = new DedeSql(false);
$query="Select userid From #@__member where id=".$_COOKIE['DedeUserID'];
$username = $dsql->GetOne($query);
$dsql->Close();
?>
document
.getElementById("user_status_div").innerHTML='欢迎您 <?php echo($username['userid']);?> [<a href="/member/index.php">用户中心</a>] [<a href="/member/index.php?uid=<?php echo($username['userid']);?>">我的空间</a>] [<a href="/member/index_do.php?fmdo=login&dopost=exit&forward='+window.location.href+'">退出登录</a>]';
<?php
}
?>

注意这里采用了crateElement方法来动态创建<script>标签,达到了添加随机参数的目的。另外,在调用的js文件中,必须采用innerHTML方法,而不是直接document.write,否则排版可能会不正确。

希望此雕虫小技能给你带来帮助。

104套官网源码静态HTML页面:APP下载页面的高效解决方案 在数字化竞争日益激烈的今天,一个专业且高效的官网或APP下载页面,已成为企业推广产品的核心工具。本文推荐的**104套官网源码静态HTML页面资源包**,专为APP下载场景设计,通过纯静态架构和灵活的自定义能力,为开发者提供了一站式解决方案。 阅读详情

相关推荐

让html页面不缓存js的实现方法

主要介绍了让html页面不缓存js的实现方法,分析了HTML页面缓存js的原理,并由此分析实现不缓存js的方法,是非常实用的技巧,需要的朋友可以参考下

关于设置html不让浏览器进行缓存的问题

我们现在在做vue,react等项目的时候,由于是单页面的纯前端项目,他们的入口文件往往都是静态的html单一文件。这里需要注意的是,取消缓存可能会增加服务器的负载,因为每次请求都需要从服务器重新获取内容。因此,在决定取消缓存时,请确保权衡利弊,并考虑使用适当的缓存策略来优化性能和用户体验。

qwguo 5604

使用bandersnatch搭建pypi 本地镜像源(20211026)

需求背景:公司内网不能联网,同时开发工作需要各种python的模块,因此需要搭建一个pypi的本地镜像源。 参考网上的方法,总结了大致有下面几种方式搭建pypi本地源: devpi: 企业内网利用devpi搭建pypi私服 - 简书 pip2pi: https://yangfannie.com/1439.html pypiserver: https://zhongneng.github.io/2019/02/16/creat-pip/ bandersnatch:基于bandersnatch搭...

liurizhou的博客 6468

html中为css、js、配置文件等静态资源加上时间戳,防止浏览器缓存

使用document.write可以阻塞当前的加载,直到write中的标签加载成功,可防止配置文件未被加载但已经进入主页面了。nginx使用 add_header Cache-Control no-store;但实际上mdn已经不建议使用document.write方法了,会导致一些性能问题。但这么做的话部署的时候会多一个修改nginx配置文件的步骤。

云帆的博客 6037

SAP WM模块事务码(TCODE)大全

OL07 Data transfer stor.bins LDK34->RLPLA 仓储位LDK34 ->RLPLA

matinal 當冬夜漸暖 。公众号:matinal 5846

基于DSP28335的Matlab/Simulink代码生成实验七:A/D采样

实验七:讲解如何使用DSP的ADC模块,通过代码生成技术控制DSP进行电流采样,是后续实现电机闭环控制的重要环节。通过简单的实验来熟悉代码生成的过程。最终实现复杂算法代码自动生成,进行高性能电机控制!

m0_73869369的博客 4725

让js文件不缓存

可以模拟不同的请求使其不断获取, 这里我使用时间作为参数 代码如下: <script>document.write('<script src="js/token.js?version=' + new Date().getTime() + '"><\/script>')</script>

yyd6976的博客 1613

SpringBoot+Maven打包实战:把项目变成SDK供其他团队调用

本文详细介绍了如何将SpringBoot项目改造并打包成可被其他项目依赖的SDK。通过调整Maven配置,剥离SpringBoot父依赖与启动类,并定制打包插件,最终生成标准的JAR依赖库,实现从“可执行应用”到“组件化SDK”的优雅转变,便于团队间功能复用。

assembly8low的博客 827

html,css,js防止浏览器缓存,导致不加载新页面。

给html,css,js添加版本号。1.手动版<link rel="stylesheet" type="text/css" href="/css/tool.css?v=20111230" /> <script src="base.js?v=20111230"></script>通常是我们对这些文件进行了修改,在链接后面添加时间版本号,防止浏览器的缓存。<script> //代码添加版本号 v

isxixi的博客 4225

wvp gb28181 pro 平台国标级连功能说明

国标28181不同平台之间支持两种连接方式,平级和上下级,WVP目前支持向上级级联。

zengliguang的专栏 3887

halcon3d点云补全方法

属于halcon实例中的内容,后面还接了一部分的匹配

Tianwen_running的博客 1231

html引入资源加上时间戳避免缓存

html引入资源加上时间戳避免缓存 发现 最近看 springboot + bootstrap 相关开源项目的时候 , 发现页面引用 js 资源文件的时候 , 末尾都会加上时间戳 在线 renren-security 开源项目 项目地址: https://gitee.com/renrenio/renren-security 具体代码如下 <script src="${request.contextPath}/statics/config1.js?_${.now?long}"></scr

java技术博客 1595

信奥赛csp初赛高频考点【位运算】(详细解析)

信奥赛csp初赛高频考点【位运算】(详细解析)

王老师青少年编程 371

app中html静态页面缓存,移动端index.html被缓存问题

在移动端,我们为了解决带宽限制或者网络缓慢等问题,常常会使用http协议缓存静态文件(http缓存简介),从而减少网络请求,加快首屏加载时间。缓存虽然给我们带来了性能上的优化,但是也会带来一些问题,如最常见的问题就是:系统升级后文件未更新,需要手动进行刷新。要解决这个问题,要分以下几种情况:1、传统的多页面应用我们一般使用时间戳或者版本号等标记html、css、js等文件,例如:原有的html文件...

weixin_39633452的博客 2048

诊断数据库ODX标准协议ISO22901定义组成部分

综上所述,简略描述了ODX数据库中UML/XML/Text/Check rules具体功能以及详细内容。

Soly_kun的博客 907

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

解决静态资源文件js/css缓存问题(超详细总结版)

什么是静态资源文件 顾名思义,静态资源文件就是js、css、img等非服务器动态运行生成的文件,统称为静态 资源文件。 为什么要缓存静态资源文件 静态资源文件是基本不会改变的,没必要每次都从服务器中获取。也就是说,我们每次向 服务器发送请求得到的静态资源是相同的。所以我们可以把静态资源缓存再浏览器,也就 是客户端,来进行性能优化。 虽然绝大多数css和js文件都只有几百k,但有些时候会存在如字...

a624193873的博客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Html静态页面缓存问题,解决缓存更新不及时需清空缓存更新页面

问题 在写静态网站的时候,经常回面临某些页面上传更新后,查看时会出现没有更新的清空,就是因为浏览器读取了缓存造成的,需要清空缓存刷新才可以看到页面的更新,但是有些用户不知道这些操作。就很头痛 浏览器缓存(强制缓存与协商缓存) 强制缓存 当浏览器向服务器发起请求时,服务器会将缓存规则放入HTTP响应报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Control优先级比Expires高。 协商缓存 协商缓存就是强制缓存失效后,浏览

u011608672的博客 7097

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Html静态页面更新,解决浏览器缓存不更新问题

问题 在写静态网站的时候,经常回面临某些页面上传更新后,查看时会出现没有更新的清空,就是因为浏览器读取了缓存造成的,需要清空缓存刷新才可以看到页面的更新,但是有些用户不知道这些操作。就很头痛 浏览器缓存(强制缓存与协商缓存) 强制缓存 当浏览器向服务器发起请求时,服务器会将缓存规则放入HTTP响应报文的HTTP头中和请求结果一起返回给浏览器,控制强制缓存的字段分别是Expires和Cache-Control,其中Cache-Control优先级比Expires高。 协商缓存 协商缓存就是强制缓存失效后,浏览

m0_37750806的博客 1万+

http缓存策略-nginx只缓存js和css不缓存html

使用缓存,是提升web性能最重要的方式之一。 在开发单页面应用的时候,大量的单静态资源引用都是依赖于html这个文件的。例如: <!doctype html> <html lang="en"> <head><link href="/static/css/main.dfe5fa49.css" rel="stylesheet"><...

weixin_30566111的博客 1330

nginx缓存js不缓存html,http缓存策略-nginx只缓存js和css不缓存html

使用缓存,是提升web性能最重要的方式之一。在开发单页面应用的时候,大量的单静态资源引用都是依赖于html这个文件的。例如:html,css,js文件可以缓存 都可以缓存。设想如下场景:该页面内嵌入到app(或者微信)打开,静态文件缓存到app里面了。第一次访问,打开没问题,为了提升第二次访问的性能。我们应该设置缓存。缓存超时时间为1d(随便举例)。即一天内我们随便访问这个页面都是 会从缓存中取资...

weixin_39687542的博客 1143

iis配置不缓存某个html,如何禁止IIS缓存静态文件(png、js、html等)

中心提示:IIS为了提高性能,默认情况下会对静态文件js,html,gif,png等做内部缓存,这个缓存是在空间iis进程滴内存中滴。IIS这么做在很大程度上可以提高静态文件滴访问性能,在正常情况下只要静态文件更新了IIS也会更新缓存。禁止IIS缓存静态文件(png、js、html等)背景:IIS为了提高性能,默认情况下会对静态文件js、html、gif、png等做内部缓存,这个缓存是在空间iis...

weixin_36448205的博客 980

微信html页面缓存问题,浅谈微信页面入口文件被缓存解决方案

缓存对于前端页面来说,是加速页面加载的利器之一,但也同时带来了很多问题,比如新版本发布之后,怎么替换客户端上的缓存文件呢?大家一般的的解决方案主要有以下几种形式,一般情况1、添加版本号,在静态资源文件的引用链接后面添加版本号,这样每次发布的时候更新版本号,就能让叫客户端加载新的资源文件,避免再次使用缓存的老文件,如2、文件名使用hash形式,webpack中打包文件可直接生成,这样每次打包发布的时...

weixin_35039018的博客 3511

html静态页面不缓存,浏览器是否会缓存html页面

2016-06-24 更新:前端开发时,通常说到静态资源,都只提及css和js,清理缓存时也只是针对css和js,没有看过 “清除html缓存” 的说法(可能是我孤陋寡闻0_0)。为什么呢?HTML不会被缓存吗?------------------------------分割线------------------------------------------以下是原提问:对于前端开发,在开发过程...

weixin_35715490的博客 1009
上一篇: Php+Mysql注入专题
下一篇: 静态HTML页面不缓存js文件的方法
lonestone
博客等级 码龄20年 9粉丝 42原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值