如何禁用 Chrome 自动完成功能?

IT技术 reactjs google-chrome autofill
2021-05-01 15:02:20

我们想在 React JavaScript 应用程序中禁用Chrome 浏览器中的自动完成功能我们已经尝试了一系列互联网上可用的解决方案,但没有任何效果。autoComplete=off不可靠,其他方式也是如此。

目前这对我们来说非常重要,所以您能否建议我们使用 React JavaScript 在 Chrome 中禁用自动完成的万无一失的方法?

其次,我们为我们的文本框使用了一个通用控件/组件,并在任何地方使用它们

4个回答

难道autocomplete="new-password"要禁用自动完成。

您可以通过添加onFocus属性覆盖 chrome 自动填充

render()
{
  return <input type="text" name="name" value="this is my input" autoComplete="off" onFocus={this.onFocus} />
}

在该onFocus方法中,我们需要通过javaScript 更改“自动完成”属性。

onFocus = event => {

   if(event.target.autocomplete)
   {
     event.target.autocomplete = "whatever";
   }

};

这个解决方案对我有用。

请让我知道这对你有没有用 ;)

没有什么对我有用new-password包括,所以我是这样做的:

onFocus={(event) => {
  event.target.setAttribute('autocomplete', 'off');
  console.log(event.target.autocomplete);
}}

我的 React 项目也遇到了同样的问题。我的解决方案是对 autoComplete 属性使用随机字符串。不要使用“关闭”,根据Pim,您需要设置一个无效值才能真正关闭自动完成功能。另请注意,React 中的属性名称必须是 autoComplete。