2017-02-27 93 views
1

在开发我的用户控制面板时,我决定使用Password Vault将会是一项很酷的功能。这里用户可以将团体密码和用户名分享给他们的工作组(如果他们与同事共享一个帐户)并存储他们自己的个人密码。这也显示了它所链接的域名和密码的强度。停止浏览器(Firefox)更新已保存的密码

enter image description here

现在有一个小问题。当使用Firefox时,如同所有伟大的网页开发人员一样,当您访问页面时,如果您点击页面,请求您更新控制面板保存的用户密码,则会为您提供一个弹出窗口。

enter image description here


我不清楚为什么,因为没有任何地方<form>和领域都没有使用相同的name, classid。下面是一个典型的领域是如何打印出来(注意:这仅仅是info场):

<div class="pwv_row_column_2"> 
    <div class="pwv_user">%VAR1%</div> 
    <div class="pwv_pass"> 
     <div class="pwv_eye"></div> 
     <div class="pwv_show"> 
      <input type="password" value="%VAR2%" class="pwv_context" readonly="true"> 
     </div> 
     <div class="pwv_hide"> 
      <input type="text" value="%VAR2%" class="pwv_context" readonly="true"> 
     </div> 
    </div> 
</div> 

,然后用下面的jQuery我隐藏和显示的点击Eye图标时的密码:

$(document).ready(function() { 
    $('.pwv_eye').click(function() { 
     $(this).siblings('.pwv_hide').toggle(); 
     $(this).siblings('.pwv_show').toggle(); 
    }); 
}); 

我已尝试在字段上使用autocomplete="off",但这不能解决问题。如何停止浏览器尝试更新已保存的信息?即使尝试添加随机name=""id=""他们看看是否有帮助:不。

+0

输入是'readonly',用户如何更改它们? – Barmar

+0

用户不会更改它们,在远端有一个编辑按钮,您不能看到该按钮进入不同的页面,但在此页面上的任何位置都没有使用任何表单。我只是使用文本和密码输入字段显示当前密码时,其隐藏或显示;并阻止人们改变或删除它们,我添加了'只读'选项。 – Kaboom

+1

也许不要使用'type =“password”'。这仅仅是用户输入的表单字段所需要的。 – Barmar

回答

0

由于笨拙,firefox将保存的用户信息以某种方式预先加载到密码字段中。停止它的方式是去在页面的开始和添加以下内容:

<div style="display: none;"> 
    <input style="display: none;" type="text" value=""> 
    <input style="display: none;" type="password" value=""> 
</div> 

然后在页面停止要求来更新保存的一个。

+0

他的问题不是自动填充,问题是浏览器提供将密码更改保存在其密码管理器中。 – Barmar