在IE浏览器中,始终从浏览器加载旧数据

时间:2014-11-01 09:29:26

标签: javascript jsp

在IE浏览器中,始终从浏览器历史记录中加载旧数据。要获取最新数据,我需要始终清除浏览器历史记录。

如何始终加载新数据? 有没有办法使用javascript清除浏览历史记录?

这似乎是因为临时互联网文件和网站文件

我尝试了几种方法,比如

<meta http-equiv='cache-control' content='no-cache'>
<meta http-equiv='expires' content='-1'>
<meta http-equiv='pragma' content='no-cache'>
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate"); // HTTP 1.1.
      response.setHeader("Pragma", "no-cache"); // HTTP 1.0.
      response.setDateHeader("Expires", 0); // Proxies.
var numberOfEntries = window.history.length;
    window.history.go(-numberOfEntries); 

    var cookies = document.cookie.split(";");

    for (var i = 0; i < cookies.length; i++) {
        var cookie = cookies[i];
        var eqPos = cookie.indexOf("=");
        var name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;
        document.cookie = name + "=;expires=Thu, 01 Jan 1970 00:00:00 GMT";
    }

    window.history.replaceState();

      window.location.replace(document.url);

似乎没有什么工作

1 个答案:

答案 0 :(得分:0)

您是否尝试过以某种方式加载页面以查看是否有 浏览器停止缓存旧页面。

您可以尝试在页面中放置一个隐藏的输入元素,然后在每个元素上更新其值 页面加载以查看是否足以强制浏览器显示您页面的最新版本。

这里是jsfiddle的链接:http://jsfiddle.net/larryjoelane/nu1jpvjh/1/

html部分:

 <input id="version" type = "hidden" value = "1">

jquery part:

      //the highest number you want to retrieve randomly
      var upperLimit = 1000;

     //get random number between 1 and 1000
    //change upperlimit above to increase or 
   //decrease range
    var randomNum = Math.floor((Math.random() * upperLimit) + 1);    


  //update the #version input box value
  $("#version").val(randomNum);