【问题标题】:How to prevent browser from caching form fields? [duplicate]如何防止浏览器缓存表单字段? [复制]
【发布时间】:2012-03-24 03:18:53
【问题描述】:

我在用户填写的表单字段中有一个textbox。然而目前(在 Firefox 10 中)用户可以离开页面,然后返回,输入将填充其先前的值。我认为这会造成令人困惑的用户体验,并希望防止这种情况发生。

有没有办法在不手动重置值的情况下做到这一点?我尝试将响应更改为不缓存以及设置autocomplete='false',但没有成功。

【问题讨论】:

    标签: html forms autocomplete browser-cache


    【解决方案1】:

    尝试使用autocomplete="off",但它不适用于所有浏览器

    PS:重复...

    Stop browser from filling textboxes with details

    Make page to tell browser not to cache/preserve input values

    【讨论】:

    • 似乎无法解决 FF10 中的问题。
    • 是的,你不能强迫浏览器做你想做的事情^^
    • 除了用javascript手动清除值之外,有没有跨浏览器的解决方案?否则我可能只是凑合着做。
    • 你的文档类型是什么?官方,自动完成属性仅出现在 html5 标准中......但我认为如果用户不想清除这些值(出于安全原因除外)
    • 将此添加到输入隐藏字段。
    【解决方案2】:

    只需在一些全局 JS 中添加简单的脚本:

    $("form :input").attr("autocomplete", "off");
    

    【讨论】:

    • 那是更快的方式,谢谢
    【解决方案3】:

    在头部使用元

    <meta http-equiv="Pragma" content="no-cache">
    <meta http-equiv="Expires" content="-1">
    

    或使用

    <% Response.CacheControl = "no-cache"; %>
    <% Response.AddHeader("Pragma", "no-cache"); %>
    <% Response.Expires = -1; %>
    

    microsoft

    【讨论】:

      猜你喜欢
      • 2011-08-26
      • 2023-03-18
      • 2011-02-12
      • 2023-03-21
      • 1970-01-01
      • 1970-01-01
      • 2011-04-28
      • 2017-02-06
      相关资源
      最近更新 更多