禁用Chrome 66的自动填充功能

时间:2018-04-27 08:58:05

标签: google-chrome autocomplete

使用chrome 66,我无法找到一种方法来禁用文本输入上的自动填充功能。我尝试了autocomplete="off"autocomplete="new-password",直到Chrome 63,我认为已经有效了。

是否有新方法可禁用此功能?

谢谢!

4 个答案:

答案 0 :(得分:5)

刚开始讨论 - Google会查看字段idname,以确定是否已保存该字段的数据。作为网站作者,使用随机生成的名称/ ID,和/或在该字段中添加autocomplete=<random string>

查看此游乐场:https://jsfiddle.net/mfdc22pz/1/

BTW Chrome Canary(68)解决了这个错误!

简而言之: 添加以下随机标签: name="foo_90553-4"

答案 1 :(得分:2)

我解决了使用一个小jQuery(但你可以使用一个简单的javascript)。

问题是Chrome会查看字段的名称和/或 id 。 我发现的唯一解决方案是删除这些属性,使用字段的真实名称添加数据名称属性,并在使用javascript提交后重新附加name属性。

有一个例子

<form onsubmit="return formSubmit(this);" autocomplete="off">
    <input type="text" data-name="dateStart" class="form-control" />
</form>


<script>
function formSubmit(form) {
  console.log(form);
  $(form).find('.form-control').each(function(){
    $(this).attr('name', $(this).data('name'));
  });
  console.log(form);
  query = jQuery(form).serialize();
  window.open("/YOUR_URL/?" + query, "_self");
  return false;
};
</script>

答案 2 :(得分:1)

我遇到了同样的问题。 使用插入不可见输入的方法使其像页面上的第一个输入一样。

[HTML] ... ... [CSS] ... .invisible_input {height:0.1px; position:absolute; margin-top:-500px;} ...

但等待Chrome开发人员的回答:/ 希望这对你有所帮助! enter image description here

答案 3 :(得分:0)

对我有用的是使用假装有密码掩码的非密码输入 - 与浏览器供应商争夺关闭实际密码字段的自动完成功能可能会以挫败感结束。

这是一个沙箱:https://codesandbox.io/s/yp3pyl4rkv

具有更多功能的类似方法是https://github.com/karaggeorge/react-better-password