Javascript 自动完成=";关「;跨浏览器功能

Javascript 自动完成=";关「;跨浏览器功能,javascript,html,autocomplete,cross-browser,Javascript,Html,Autocomplete,Cross Browser,我有一个网站,我有一些需要的功能: 在我的网站上没有自动完成、建议或保存: 任何表单字段都不应自动完成,也不应具有基于先前输入的下拉建议 浏览器中不应保存/缓存任何表单数据(条目) 防止“溢出”到其他现场: 当访问其他网站时,来自我的网站的数据不应作为建议出现在表格中(参考1b) 到目前为止,我已经通过在所有表单上使用autocomplete=“off”实现了这一点。基于此,最初应该可以解决上述所有问题,但是一些浏览器现在开始忽略autocomplete属性。上面提到的文章指出

我有一个网站,我有一些需要的功能:

  • 在我的网站上没有自动完成、建议或保存:

    • 任何表单字段都不应自动完成,也不应具有基于先前输入的下拉建议
    • 浏览器中不应保存/缓存任何表单数据(条目)
  • 防止“溢出”到其他现场:

    • 当访问其他网站时,来自我的网站的数据不应作为建议出现在表格中(参考1b)
到目前为止,我已经通过在所有表单上使用autocomplete=“off”实现了这一点。基于此,最初应该可以解决上述所有问题,但是一些浏览器现在开始忽略autocomplete属性。上面提到的文章指出,诀窍是为属性指定一个无效值,例如autcomplete=“nope”

我的问题是:

问题1:使用autocomplete=“nope”的解决方案是否也会阻止缓存/保存数据

问题2:是否有更好的解决方案来实现我的最佳跨浏览器兼容性标准?(我已经搜索过了,但没有找到任何明确的答案)


最好的解决方案是,如您所述,输入一个无效值,如图所示

在某些情况下,浏览器将继续建议自动完成 值,即使“自动完成”属性设置为“关闭”。这 对于开发人员来说,意外的行为可能非常令人费解。成功的诀窍 真正强制非自动完成的是给 属性,例如:

由于此值对于“自动完成”属性无效, 浏览器无法匹配它,因此停止尝试自动完成 田野

您的数据或缓存不会受此影响,根据表单内置的内容,数据将仅通过
表单
操作或
函数
处理程序保存在
输入


或者,我发现输入上的
autocomplete='newpassword'
是可靠的,但是
表单
包装上的上述示例所需的工作量比添加到每个
输入

要少得多,谢谢。表单是使用常规的php post方法(无Ajax)构建的。当使用autocomplete=“nope”时,输入的任何数据是否会保存在浏览器中/本地?此链接()是关于此主题的一个很好的阅读。为确保浏览器不保存任何数据,您可以使
输入
名称
模糊。例如,电话的
输入
可以将名称
53007478
作为随机字符串,而不是
Phone
。因此,即使数据由浏览器存储,浏览器也很难与其他地方的值匹配。更多详细信息可在此答案()中找到
autocomplete="nope"