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

Jay*_*kia 15 javascript jquery google-chrome

Chrome弹出泡泡

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

Jay*_*kia 21

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

它可以在铬和莫扎火狐中完成.

适用于Chrome

首先,您必须删除输入类型的属性"password".

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

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

这是一个例子

<html>
<head>
   <title> Remove Save Password Pop Up For Chrome </title>
   <style>
       #txtPassword{
           -webkit-text-security:disc;
       }
   </style>
</head>
<body>
   <input type="text" id="txtUserName" />
   <br />
   <input type="text" id="txtPassword" />
   <br />
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

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

对于Mozilla

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

但我们也可以操纵mozilla.

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

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

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

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

对于这个限制,我们可以在你写密码时制作显示子弹的假div.

这是一个例子.

<html>
<head>
  <title> Remove Save Password Pop Up For Mozilla </title>
  <script src="//cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js" type="text/javascript">
  <script>
      function RemoveSavedPassword() {
         if (jQuery.browser.webkit == undefined) {
             inputValue = $('.real-input').val();
             numChars = inputValue.length;
             showText = "";
        for (i = 0; i < numChars; i++) {
            showText += "&#8226;";
        }
        $('.fake-input').html(showText);
    }
 }
  </script>
</head>
<body>
    <div class="input-box">
       <label>Enter password:</label>
       <div class="fake-input"></div>
       <input type="text" onKeyUp="RemoveSavedPassword()" class="real-input">
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

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

这是链接:

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

安全问题

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

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

  • 很好的答案,但真的很复杂。 (2认同)

Max*_*ter 12

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


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

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

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

完整代码:

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

<form id="form1" action="/">
Name:<br />
<input type="text" name="userid" />
<br />
Password:<br />
<input type="password" readonly onfocus="$(this).removeAttr('readonly');" />
<br />
<button type="submit" form="form1" value="Submit">Submit</button>
</form>

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

<form id="form2" action="/">
Name:<br />
<input type="text" name="userid" />
<br />
Password:<br />
<input type="password" name="psw" />
<br />
<button type="submit" form="form2" value="Submit">Submit</button>
</form>
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

35625 次

最近记录:

7 年,11 月 前