如何通过JavaScript禁用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 */ /*Chrome asks to save the password from this form */
我想我发现粗略,但工作方法,以防止浏览器保存密码提示。 它可能不是真正美丽的解决方案,但它对我有用。
用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; }
这个方法适用于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中进行了测试。