如何阻止 Chrome 自动完成文本区域?
Posted
技术标签:
【中文标题】如何阻止 Chrome 自动完成文本区域?【英文标题】:How to stop Chrome from autocompleting text areas? 【发布时间】:2017-08-30 06:08:26 【问题描述】:我正在处理 Chrome 希望自动填充用户地址的联系表单的一部分中的文本区域。结果,许多联系请求是由用户提交的,他们的地址在评论字段中。除了可能被利用的明显的潜在安全问题外,我担心的是,从用户的角度来看,我们提供的联系表格没有输入消息的区域。从支持的角度来看,我们不得不要求用户向我们发送另一条带有实际问题的消息。
html:
<textarea id="element_10" class="validate[required] floatlabel js-auto-size multiple-lines" name="element_10" placeholder="Message*" rows="10" cols="60" required autocomplete="off"></textarea>
【问题讨论】:
谁发现了这个,这是一个似乎在不断更新的旧 SO 问题:Disabling Chrome Autofill 【参考方案1】:回答我自己的问题,因为我没有在 Stack 或任何 Chrome 浏览器文档中找到答案。
在某些情况下,浏览器会不断提示自动完成值 即使自动完成属性设置为关闭。这出乎意料 行为对于开发人员来说可能非常令人费解。真正的诀窍 强制不自动完成是为 属性,例如:
autocomplete="nope"
由于这个随机值无效,浏览器会放弃。
https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion
【讨论】:
实际上可能并非在所有情况下都有帮助。更多细节在 Chrome 错误讨论中:bugs.chromium.org/p/chromium/issues/detail?id=914451#c99【参考方案2】:我尝试了所有建议,但没有一个真正始终如一的工作。
如果我将一个输入设置为 autocomplete="nope" 它可以工作。
如果我设置了两个或更多,它会破坏它们。
如果我将两个设置为 autocomplete="nope" 和 autocomplete="no" 它适用于这两个,但如果我对第三个做任何事情,它会再次中断。
我的表单只有 3 个输入。我只是设置了电子邮件和电话,只留下了名字。这几乎解决了我的问题。
我有一些 jquery 验证,几乎不能使用自动完成功能,这个客户真的不想被垃圾邮件所困扰。
Chrome 也将单行文本区域与输入完全相同。
【讨论】:
以上是关于如何阻止 Chrome 自动完成文本区域?的主要内容,如果未能解决你的问题,请参考以下文章