`

解决js缓存地址问题[转载]

阅读更多

js实现不缓存 

<META HTTP-EQUIV="pragma" CONTENT="no-cache"> 

<META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate"> 

<META HTTP-EQUIV="expires" CONTENT="0"> 

不缓存js的方法 

<script> 

document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>"); 

</script> 

其他的类似,只需在地址后加上+Math.random() 

注意:因为Math.random() 只能在Javascript 下起作用,故只能通过Javascript的调用才可以 

若上面改为 

(<script type=”text/javascript“ src=”/js/test.js?+Math.random()“></script> 

则无法实现不缓存 

js文件不缓存 

每次连接的地址变化,利用js随机数 

document.write("<s"+"cript type='text/javascript' src='/js/test.js?"+Math.random()+"'></scr"+"ipt>"); 

禁用页面缓存的几种方法(静态和动态) 

  1、在Asp页面首部<head>加入    以下是引用片段: 

   Response.Buffer    =    True    

   Response.ExpiresAbsolute    =    Now()    -    1    

   Response.Expires    =    0    

   Response.CacheControl    =    "no-cache"    

   Response.AddHeader    "Pragma",    "No-Cache"  



2、在HtML代码中加入   

以下是引用片段: 

   <HEAD>    

   <META    HTTP-EQUIV="Pragma"    CONTENT="no-cache">    

   <META    HTTP-EQUIV="Cache-Control"    CONTENT="no-cache">    

   <META    HTTP-EQUIV="Expires"    CONTENT="0">    

   </HEAD>  



    

3、在重新调用原页面的时候在给页面传一个参数    Href="****.asp?random()" 

  前两个方法据说有时会失效,而第三种则是在跳转时传一个随机的参数! 因为aspx的缓存是与参数相关的,如果参数不同就不会使用缓存,而会重新生成页面,每次都传一个随机的参数就可以避免使用缓存。这个仅适用于asp&asp.net 

  4、在jsp页面中可使用如下代码实现无缓存: 

以下是引用片段: 

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 

response.setHeader("Pragma","no-cache"); //HTTP 1.0 

response.setDateHeader ("Expires", 0); //prevents caching at the proxy server 



  这些代码加在<head> </head>中间具体如下 

以下是引用片段: 

<head> 

<% 

response.setHeader("Cache-Control","no-cache"); //HTTP 1.1 

response.setHeader("Pragma","no-cache"); //HTTP 1.0 

response.setDateHeader ("Expires", 0); //prevents caching at the proxy server 

%> 

</head> 



  5、window.location.replace("WebForm1.aspx");   

参数就是你要覆盖的页面,replace的原理就是用当前页面替换掉replace参数指定的页面。   

这样可以防止用户点击back键。使用的是javascript脚本,举例如下: 

  a.html 

以下是引用片段: 

<html> 

     <head> 

         <title>a</title>      

         <script language="javascript"> 

             function jump(){ 

                 window.location.replace("b.html"); 

             } 

         </script> 

     </head> 

     <body> 

        <a href="javascript:jump()">b</a> 

    </body> 

</html>  



  b.html 

以下是引用片段: 

<html> 

     <head> 

         <title>b</title>      

         <script language="javascript"> 

             function jump(){ 

                 window.location.replace("a.html"); 

             } 

         </script> 

     </head> 

     <body> 

        <a href="javascript:jump()">a</a> 

    </body> 

</html>  



  前4种只是清空了cache,即存储在Temporary Internet Files文件夹中的临时文件,而第五种则是使用跳转页面文件替换当前页面文件,并没有清空cache,也就是说Temporary Internet Files产生了相关的临时文件,两者搭配使用真是清空缓存,必备良药。正好我这里有了记录,所以常来看看哦。 


我用的是在地址后加Math.random()!!!!!!!!!!!使得地址重新调用服务器,而不是使用IE缓存。

分享到:
评论

相关推荐

    js、css、img等浏览器缓存问题的2种解决方案.docx

    在 Web 开发中,浏览器缓存是非常重要的一部分,它可以提高网站的加载速度和执行效率,但同时也带来了许多问题,例如当服务端修改了 js、css 等文件时,客户端无法更新,这就需要我们采取一些方法来解决这些问题。...

    如何解决缓存问题及如何设置缓存

    缓存问题解决方案和设置缓存方法 缓存是Web开发中一个常见的问题,它可以极大地影响网站的性能和用户体验。因此,解决缓存问题和设置缓存是非常重要的。在这篇文章中,我们将讨论如何解决缓存问题和设置缓存。 ...

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

    很多朋友都会碰到这样的情况:如果我们页面加载了js的话下次打开时也会是调用这个js缓存文件,但对于我们调试时是非常的不方便了,本文就来谈论如何解决这一问题,下面一起来看看。 不缓存JS的方法其实挺简单,CSS在...

    缓存一致性问题与解决方案

    锁在多线程环境下用于解决资源竞争问题,但并不能解决缓存一致性问题。因为锁只能确保在某一时刻只有一个线程访问数据,但无法保证所有线程都能看到最新的数据状态。 2. **消息中间件**: 单纯的消息中间件可以...

    解决IBatis缓存动态字段问题

    ### 解决IBatis缓存动态字段问题 #### 背景与问题描述 在使用IBatis框架处理数据库操作时,可能会遇到动态数据表名、动态字段名的情况。这种情况下,由于IBatis的缓存机制,可能导致字段找不到的问题。具体表现为...

    Jetty缓存锁定问题解决(javascript,css锁定问题)

    标题中的“Jetty缓存锁定问题解决”指的是在使用Jetty服务器时,遇到的一个常见问题,即静态资源(如JavaScript和CSS文件)的缓存可能导致用户浏览器无法获取最新的文件版本,从而导致页面显示异常。这通常发生在...

    短小精悍的前端缓存插件解决前端缓存问题

    为了解决这个问题,开发者通常会使用各种前端缓存插件。本文将探讨一款名为"npm-storage"的前端缓存插件,它在JavaScript开发中的应用及其重要性。 npm-storage 是一个轻量级的前端存储解决方案,它基于浏览器的...

    解决缓存雪崩问题

    在java开发中如何解决缓存雪崩的问题,因为缓存失效导致数据未加载到缓存中,或者缓存同一时间大面积的失效 从而导致所有请求都去查询数据库,导致数据库CPU和内存负载过高,甚至宕机

    2.2Redisson读写锁解决缓存一致性问题简单练习

    2.2Redisson读写锁解决缓存一致性问题

    springboot缓存一致性解决

    本文将深入探讨Spring Boot中如何处理和解决缓存一致性问题。 首先,我们需要理解缓存的一致性模型。常见的有三种:强一致性、最终一致性和读已写一致性(Read-Your-Writes Consistency)。在分布式系统中,强一致...

    js浏览器缓存.doc

    - **JavaScript库特性**:尽管Prototype.js本身并未明确设置缓存机制,但由于浏览器默认行为,仍会导致此类问题。 #### 三、解决方案 ##### 3.1 随机参数法 为了解决重复请求失效的问题,可以在每个请求的URL后面...

    chrome缓存清除扩展程序,通过js清除chrome缓存的api演示

    缓存能够存储网页的静态资源,如图片、CSS样式表和JavaScript文件,以提高页面加载速度,提升用户体验。然而,有时为了调试或者隐私考虑,我们需要清除这些缓存。本文将详细介绍如何使用Chrome扩展程序以及...

    深踩Android Studio 缓存的坑及解决方法

    深踩 Android Studio 缓存的坑及解决方法 ...Android Studio 缓存的问题可以通过强制刷新依赖项和删除私服缓存来解决。在使用 Gradle 依赖项时,我们需要注意缓存的问题,以免影响项目的开发和编译。

    MysqL缓存的解决方案

    "MySQL缓存的解决方案" MySQL 缓存是提高数据库性能的一种重要手段,它可以减少数据库的读写次数,从而提高系统的整体性能。以下将对 MySQL 缓存的解决方案进行详细的介绍。 缓存的必要性 缓存的主要目的是减少...

    AJAX学习总结(四)---解决缓存问题

    在本文中,我们将深入探讨AJAX(异步JavaScript和XML)技术的一个重要方面:如何解决缓存问题。AJAX使得网页能够不需刷新整个页面就能与服务器进行数据交互,极大地提升了用户体验。然而,缓存机制有时可能会导致...

    一个简单JS缓存数据类

    这是一个用于缓存JS对象像(JSON,数组)都可以的一个小工具,在开发项目过程中,会比较实用。 JS对数据做缓存,应用场景,有的时候通过ajax去获取一些不是经常变动数据的时候,不用每次去请求,直接进缓存 1. 将数据...

    使用localStorage缓存js

    本篇文章将深入探讨如何使用 `localStorage` 来缓存JavaScript文件,从而提高页面加载速度,减少网络请求,提升用户体验。 `localStorage` 提供了一个持久化的存储空间,最大容量约为5MB,不同域之间是隔离的,保证...

    本地缓存JSCSS.zip

    "本地缓存JSCSS.zip"这个压缩包文件提供了一种方法,通过利用浏览器的localStorage功能来存储JavaScript(JS)和样式表(CSS)文件,从而减少HTTP请求次数,优化页面加载时间。这种技术被称为本地缓存,它在现代Web...

    【JavaScript源代码】vue keepAlive缓存清除问题案例详解.docx

    在Vue.js应用中,`&lt;keep-alive&gt;`组件是一个非常重要的特性,它允许我们缓存组件的状态,使得组件在切换时能保持之前的状态,提高用户体验。然而,如何精确控制哪些组件应该被缓存,哪些不应该,特别是在不同条件下,...

    什么是redis缓存穿透 雪崩 ,如何应对解决 redis缓存穿透 雪崩 的解决办法

    然而,如果使用不当,可能会遇到两种常见问题:缓存穿透和缓存雪崩。这两者都会对系统的稳定性和性能产生严重影响。 **缓存穿透** 缓存穿透是指用户请求的数据既不在Redis缓存中,也不在数据库中,导致每次请求都...

Global site tag (gtag.js) - Google Analytics