【问题标题】:javascript - code to clear the cache on closing the browserjavascript - 关闭浏览器时清除缓存的代码
【发布时间】:2012-07-10 17:48:56
【问题描述】:

在我的 Web 应用程序中,我希望 java 脚本在用户关闭浏览器时清除缓存。

javascript 应该监听事件并清除缓存。

谁能给我示例代码或任何有用的链接?

【问题讨论】:

    标签: javascript session session-variables session-cookies


    【解决方案1】:

    技术上是不可能的。 您可以做的是告诉浏览器不要使用以下元标记缓存页面:

    <meta http-equiv='cache-control' content='no-cache'>
    <meta http-equiv='expires' content='0'>
    <meta http-equiv='pragma' content='no-cache'>
    

    这里有一篇文章供参考http://www.htmlgoodies.com/beyond/reference/article.php/3472881

    【讨论】:

    • 我正在使用 jspx。能否请您告诉如何将上述代码添加到 jspx 文件中
    • 您需要将它们放在html页面头部部分。
    • 我正在使用瓷砖。我在 HEAD 中添加了上面的块。部署后我看不到登录页面。 (我在我的应用程序中使用 Spring-MVC、Spring-ROO 和 Spring-Security 配置)
    【解决方案2】:

    对于清除缓存跟随链接很有帮助 Clear the cache in JavaScript

    当您尝试关闭浏览器时,您编写了一些 javascript 运行,如下所示

    window.onbeforeunload = function ()
    {
        // write your code here
     }
    

    但是为什么要在关闭浏览器之前清除缓存呢?

    【讨论】:

      【解决方案3】:

      是的,这是不可能的,但我建议您可以尝试元标记,或者您可以设置一个版本控制系统,例如这样

      <?php
      session_start();
      $versionNumber = '';
      if(!isset($_SESSION['versionNumber']))
      {
          $versionNumber = time() ;
          $_SESSION['versionNumber'] = $versionNumber;
      }
      else
      {
          $versionNumber = $_SESSION['versionNumber'];
      }
      ?>
      <script src="home.js?v=<?php echo $versionNumber; ?>" ></script>
      

      【讨论】:

      • PHP 中的这个例子,但是你可以很容易地将它转换成 jspx,你需要看看 JSP 中的 Sessions
      【解决方案4】:

      使用 JavaScript 是不可能的。但是使用 no-cache header 你可以做到。

      使用these methods which work on all browsers 之一

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-12
        • 2017-07-20
        • 2016-09-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多