如何通过JavaScript禁用Chrome的已保存密码提示设置

Chrome弹出泡泡

有没有办法在JavaScript或jQuery的帮助下操纵Chrome设置? 我想使用JavaScript禁用保存密码弹出气泡。 这该怎么做?

现在我要回答我自己的问题。

它可以在铬和mozilla火狐中完成。

适用于Chrome

首先,您必须删除输入类型的属性“password”。

这背后的主要原因是当你输入type =“text”并输入type =“password”弹出的主要浏览器显示。 因为浏览器具有内置function,可以在输入type =“password”时显示弹出窗口。

现在我们可以从中操纵chrome。

这是一个例子

   Remove Save Password Pop Up For Chrome      

它是用于将文本更改为项目符号的css属性。

对于Mozilla

你不能在mozilla中这样做。 因为-moz-text-security已经过时了。 它不适用于mozilla。

但我们也可以操纵mozilla。

现在,所有主流浏览器都支持html中的字符代码列表。

从子弹的字符代码是’•’。 当您在html中编写此代码时,它将打印这样的子弹“

现在我们可以用这些项目符号替换文本字段

但是这有一个限制。 您无法在文本框中打印项目符号。 但也有解决方案的限制。 因为在编程世界中一切皆有可能。

对于该限制,我们可以在您输入密码时制作显示子弹的假div

这是一个例子。

    Remove Save Password Pop Up For Mozilla     

现在有CSS的魔力。 魔术意味着我们可以操纵用户的边距,填充,不透明度和位置属性的力量。

这是链接

http://codepen.io/jay191193/pen/bVBPVa

安全问题

对于input type =“text”而不是input type =“password”的安全问题,您可以访问此链接

将type =“password”更改为type =“text”的安全问题

无法直接从JavaScript更改Chrome设置,因此以下答案将重点介绍如何防止该对话框出现在特定的HTML form


据我所知,没有任何好方法可以解决 – 从我读过的内容中,Chrome中会忽略HTML5 autocomplete="off"属性,因此即使您提供了密码,它也会提示保存密码属性。

但是有一种解决方法 – 如果您将password字段设置为只读,直到它被聚焦,Chrome将不会提示保存凭据。 不幸的是,我所知道的并没有很好的清洁解决方案,所以这就是为什么我发布的解决方案有点hacky。

请在Chrome中查看JSFiddle并尝试提交每个表单以查看解决方案的实际操作(每次提交后都需要重新加载小提琴): https : //jsfiddle.net/g0e559yn/2/

完整代码:

 /* Chrome does not ask to save the password from this form */ 
Name:

Password:

/*Chrome asks to save the password from this form */
Name:

Password:

我想我发现粗略,但工作方法,以防止浏览器保存密码提示。 它可能不是真正美丽的解决方案,但它对我有用。

用jQuery制作。

希望能帮助到你。

 $('#modified span').on('click', function(e){ e.preventDefault(); $('#modified').submit(); }); //Clear the form on submit $('form').on('submit', function(){ $('form input[type="text"], form input[type="password"]').val(''); }); 
 #modified input[type="submit"]{ pointer-events: none; } 
  

Browser IS asking to save password

Browser IS NOT asking to save password

这个方法适用于chrome和mozilla,在我的项目中使用它:

  

添加onfocus="this.removeAttribute('readonly');" 在你的输入类型之后,它不记得任何保存的密码。

适用于Chrome和Firefox 2018

只有你使用AJAX:

检查登录名和密码是否正常后,清除密码输入字段:

 $.post("/auth", {login: $("#login").val(), pass: $("#password").val(); }, function(data){ if (data == "auth is ok"){ // clear password field $("#password").val(''); // <-- this will prevent browser to save password } }); 

通过将< type=”button” 属性添加到正在启动事件的 ,我已成功阻止此弹出窗口。

我理解浏览器伴随着“你想保存这个登录吗?” 弹出任何表单提交,但即使使用

外的按钮,我也会弹出这个弹出窗口。 我猜测,因为默认按钮是 ,所以即使你没有在

使用它,在某种程度上点击它也会被识别为表单提交。

在最新版本的Firefox,Chrome,Edge中进行了测试。