如何停用输入的记忆值?
How can I deactivate remembering values for inputs?
我有这样的输入:
<input name="username" placeholder="Email" type="email" autocomplete="off" />
如您所见,我已将 autocomplete
属性设置为 off
。但是当我打开那个页面时,以前的值仍然存在:
那么我该如何避免呢?实际上我的问题是丑陋的背景颜色输入。当我更改它的值时,它看起来像这样:
无论如何,我怎样才能停用输入缓存?
尝试执行以下操作:
<form autocomplete="off" ...></form>
它可能有效...或者您也可以这样做。
$('#textfield').attr('autocomplete','off');
或使用autocomplete="false"
,而不是autocomplete="off"
当它只是关于设计尝试
input:-webkit-autofill {
transition: background-color 5000s ease-in-out 0s;
}
在你的 css
不幸的是 Google chrome 每个新版本都会更改它的自动完成设置。当你现在想禁用它们时,你必须每次都更新你的解决方案以防止它在进一步的版本中出现
编辑:
唯一的事情您可以停止自动填充,完全记住密码就是提供不包含 "name" 或 "password" 的 ID
正如你在问题中提到的,输入框的背景颜色是你的问题,那么你可以随意更改它。
您可以使用:
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset;
}
这会将背景更改为白色。或者您可以将其更改为您喜欢的任何颜色。
想必您的页面上也有密码字段?如果不是,您可以生成一个随机字段名称并从请求对象的 key/value 集合中获取值(可能使用已知前缀)。
在查看了所有与禁用自动完成有关的答案并尝试了大约 20 种组合后,发现以下内容适用于所有当前浏览器(包括最新的 Firefox、Chrome、IE 11 和 IE Edge)
在表单顶部放置 2 个没有名称和制表符的虚拟输入(1 个文本和 1 个密码),但将它们设置为隐藏(例如,放置在屏幕外,但实际上不是 display: none
)
例如
<input tabindex="-1" style="left: -9999px;" type="text">
<input tabindex="-1" style="left: -9999px;" type="password">
即使是最智能的浏览器,它会查找第一个密码字段(无论其名称如何)并将自动完成附加到先前的输入,也可以使用此功能。
我有这样的输入:
<input name="username" placeholder="Email" type="email" autocomplete="off" />
如您所见,我已将 autocomplete
属性设置为 off
。但是当我打开那个页面时,以前的值仍然存在:
那么我该如何避免呢?实际上我的问题是丑陋的背景颜色输入。当我更改它的值时,它看起来像这样:
无论如何,我怎样才能停用输入缓存?
尝试执行以下操作:
<form autocomplete="off" ...></form>
它可能有效...或者您也可以这样做。
$('#textfield').attr('autocomplete','off');
或使用autocomplete="false"
,而不是autocomplete="off"
当它只是关于设计尝试
input:-webkit-autofill {
transition: background-color 5000s ease-in-out 0s;
}
在你的 css
不幸的是 Google chrome 每个新版本都会更改它的自动完成设置。当你现在想禁用它们时,你必须每次都更新你的解决方案以防止它在进一步的版本中出现
编辑:
唯一的事情您可以停止自动填充,完全记住密码就是提供不包含 "name" 或 "password" 的 ID
正如你在问题中提到的,输入框的背景颜色是你的问题,那么你可以随意更改它。
您可以使用:
input:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px white inset;
}
这会将背景更改为白色。或者您可以将其更改为您喜欢的任何颜色。
想必您的页面上也有密码字段?如果不是,您可以生成一个随机字段名称并从请求对象的 key/value 集合中获取值(可能使用已知前缀)。
在查看了所有与禁用自动完成有关的答案并尝试了大约 20 种组合后,发现以下内容适用于所有当前浏览器(包括最新的 Firefox、Chrome、IE 11 和 IE Edge)
在表单顶部放置 2 个没有名称和制表符的虚拟输入(1 个文本和 1 个密码),但将它们设置为隐藏(例如,放置在屏幕外,但实际上不是 display: none
)
例如
<input tabindex="-1" style="left: -9999px;" type="text">
<input tabindex="-1" style="left: -9999px;" type="password">
即使是最智能的浏览器,它会查找第一个密码字段(无论其名称如何)并将自动完成附加到先前的输入,也可以使用此功能。