如何停用输入的记忆值?

时间:2016-07-06 09:27:07

标签: html css input browser-cache

我有这样的输入:

<input name="username" placeholder="Email" type="email" autocomplete="off" />

如您所见,我已将autocomplete属性设为off。但是当我打开那个页面时,之前的值就在那里:

enter image description here

那我怎么能避免呢?实际上我的问题是丑陋的背景颜色输入。当我更改其值时,它看起来像这样:

enter image description here

无论如何我如何停用输入的缓存?

4 个答案:

答案 0 :(得分:1)

尝试执行以下操作:

<form autocomplete="off" ...></form>

它可能有用......或者你也可以这样做。

$('#textfield').attr('autocomplete','off');

或使用autocomplete="false"代替autocomplete="off"

答案 1 :(得分:1)

正如您在问题中提到的那样输入框的背景颜色是您的问题,那么您可以按照自己的方式进行更改。

您可以使用:

input:-webkit-autofill {
   -webkit-box-shadow: 0 0 0px 1000px white inset;
}

将背景更改为白色。或者您可以将其更改为您喜欢的任何颜色。

答案 2 :(得分:0)

只是设计尝试

input:-webkit-autofill {
    transition: background-color 5000s ease-in-out 0s;
}

在你的CSS中

不幸的是,Google Chrome会在每个新版本中更改它的自动完成设置。如果您现在要禁用它们,则必须每次都更新解决方案,以防止在其他版本中出现问题

编辑
您可以做的唯一一件事就是停止自动填充并完全记住密码是在没有&#34; name&#34;或&#34;密码&#34;在其中

答案 3 :(得分:0)

大概你在页面上也有一个密码字段?如果不是,您可以生成随机字段名称并从请求对象的键/值集合中获取值(可能使用已知前缀)。

在查看禁用自动完成并尝试大约20种组合的每个答案后,发现以下所有浏览器都可以使用(包括最新的Firefox,Chrome,IE 11和IE Edge)

放置2个虚拟输入(1个文本和1个密码),没有名称,表格顶部没有标签,但将其设置为隐藏样式(例如放置在屏幕外,但实际上不是display: none

e.g。

<input tabindex="-1" style="left: -9999px;" type="text">
<input tabindex="-1" style="left: -9999px;" type="password">

即使是最智能的浏览器,它们会查找第一个密码字段(无论其名称如何)并将自动完成功能附加到上一个输入,也可以使用此功能。