我有这样的输入:
<input name="username" placeholder="Email" type="email" autocomplete="off" />
如您所见,我已将autocomplete
属性设为off
。但是当我打开那个页面时,之前的值就在那里:
那我怎么能避免呢?实际上我的问题是丑陋的背景颜色输入。当我更改其值时,它看起来像这样:
无论如何我如何停用输入的缓存?
答案 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">
即使是最智能的浏览器,它们会查找第一个密码字段(无论其名称如何)并将自动完成功能附加到上一个输入,也可以使用此功能。