Javascript 如何在InternetExplorer 8中禁用缓存

Javascript 如何在InternetExplorer 8中禁用缓存,javascript,internet-explorer,caching,Javascript,Internet Explorer,Caching,如何在IE8中禁用缓存? 我们正在IE8中进行Javascript开发和测试,但每次更改Javascript文件时都必须清除缓存。Ctrl+F5应该会导致整个页面刷新,包括所有缓存的Javascript 偶尔,您仍然需要清除缓存,因为即使Ctrl+F5也无法工作,原因无法理解,IE甚至无法在100%的时间内正确“刷新”。如果失败,则查询字符串上的随机参数将执行此操作: index.html?a=346456转到互联网选项。在“常规”选项卡上的“浏览历史记录”下,单击“设置”。每次访问网页时选择“

如何在IE8中禁用缓存? 我们正在IE8中进行Javascript开发和测试,但每次更改Javascript文件时都必须清除缓存。

Ctrl+F5应该会导致整个页面刷新,包括所有缓存的Javascript


偶尔,您仍然需要清除缓存,因为即使Ctrl+F5也无法工作,原因无法理解,IE甚至无法在100%的时间内正确“刷新”。

如果失败,则查询字符串上的随机参数将执行此操作:


index.html?a=346456

转到互联网选项。在“常规”选项卡上的“浏览历史记录”下,单击“设置”。每次访问网页时选择“”单选按钮

这不会“禁用”缓存本身,但会解决您的根本问题-每次都应重新加载JS文件。

Ctrl+Shift+Del将打开“清除私有数据”对话框(或从安全菜单中选择)。取消选中除前两项以外的所有项以仅清除缓存


不过,您不必清除缓存。如果您通过web服务器(例如本地运行的IIS)访问js文件,那么正常的缓存控制机制应该可以做到这一点。如果没有,Ctrl+F5通常会解决问题。

以关闭浏览器缓存。请按照以下说明操作:

李女士

  • 从菜单中选择IE5的“工具” 或IE4的“视图”
  • 选择“Internet选项”
  • 在“临时Internet文件”部分,单击“设置”
  • 为“检查存储页面的更新版本”选择“每次访问页面” 保存设置 我希望这可能有帮助,请检查

  • 这样加载JavaScript

    <html>
    ...
    <script type="text/javascript">
    document.write('<script src="yourscript.js?'+Math.random()+'"></script>');
    </script>
    ...
    </html>
    
    
    ...
    文件。写(“”);
    ...
    

    编辑:如果这不明显,请在投入生产后立即删除此代码

    不让用户刷新浏览器的一个更简单的方法就是重命名js文件(和css)。这就是我的工作。。。由于服务器不喜欢.js文件后面的随机数

    如果您的javascript文件是从子目录独家提供的,您可以在IIS中为该目录启用即时内容过期。我最近遇到了从子目录提供内容的问题,这是我找到的最快、最简单的解决方案。

    打开IE调试工具(F12),在菜单上缓存,然后选择“始终从服务器刷新”。这意味着您需要保持调试工具处于打开状态。

    点击“Fn F12”打开开发人员工具

    单击缓存

    选择“始终从服务器刷新”

    每次刷新时,它都应该清除缓存,但也可以从“缓存”菜单中清除快速访问缓存,或在开发工具打开时激活快捷方式


    *注意-您必须让“开发工具”窗口保持打开状态,它不必预先打开,但它必须保持打开状态才能使缓存保持禁用状态。

    问题是,在生产中,我们希望浏览器使用缓存,因为Javascript非常庞大。你说的是哪种缓存控制机制?我说的是开发和测试。HTTP的
    Last Modified
    If Modified Since
    ,以及
    ETag
    头让浏览器和服务器判断文件是否已被修改,如果已被修改,则更新浏览器的缓存版本。太棒了,成功了!我的问题是更改时CSS没有呈现
    Ctrl+Shift+Del
    不起作用,但是
    Ctrl+F5
    最终清除了缓存。这不是我能保证的,你只需要测试它。根据我的经验,这对包含javascript的嵌套页面或控件不起作用。更可靠的方法是从“开发工具”菜单执行<代码>缓存->始终从服务器刷新根据建议购买IE8和IE9,转到Internet选项->常规选项卡。在“浏览历史记录”部分,单击“设置”按钮,在“临时Internet文件”部分下选择“每次访问网页”,然后单击“确定”。这听起来是最好的解决方案,无论服务器是什么(不仅仅是IIS),它都能工作。仅当您正在开发,因为缓存是为了加快优秀浏览器的页面加载时间。但这样做会使返回和查找变得更加困难,因此可能需要使用一个变量。它看起来很像hack,在投入生产之前很容易忘记删除它。另一个hack是在文件末尾添加一个随机查询字符串(即“其中random每次都是不同的值--服务器应该忽略它,但浏览器将避免使用缓存版本。)这在以下情况下非常有用:a.)您希望强制所有客户端获取最新脚本(不仅仅是您的开发机器)和B.)您无权访问服务器设置(例如页面过期)。如果您有问题,你的用户也可能如此。最好使用一个不被接受的答案来强制服务器刷新。