摘要:另外的输入框内容是共享的,共享管理密码中被记住的当前站点下的密码。注意,不能再上识别,需要做兼容性考虑,在网页初始化的时候处理下就好了,对于浏览器,在标签上使用用后,浏览器是不会提示记住密码的。
最近在做项目表单部分,发现选择chrome记住密码后,不但点击记住密码的页面表单,整个项目的表单都被影响,后多次反复试用,发现了几条规律,在此记录并给大家看看,如果有问题或者有需要补充的,请留言,我随时改。3q
规则一
记住的密码,不清缓存,就不会消失,即便改变了 主表单--被记住的表单 的属性,此域名下的其他表单依然会显示--多发生在开发阶段,发现修改了属性,记住的密码和用户名依然显示。
规则二
先name,后id,有name就按name显示,否则按照id显示,显示的时候(包括自己以及其他同类型input)也按照这个规则,尤其是其他同name 或同id 甚至既同name又同id的input先取相同name 的记住值,后取相同id 的记住值
如被记住的input为
现其他页面有input如下:
//显示的是上面第一个,既name 为 user1, id 为user1 的input记住值
//显示的是上面第二个,既name 为 user2, id 为user2 的input记住值
规则三
关于type=password 的input,当chrome发现跳转的下一个页面有type=password的时候,是不会弹出 记住密码 弹窗的,所以这里的跳转地址很重要,跳转的下个页面有password 的input的话,chrome不会弹窗,跳转的下个页面没有的话,就会弹出 --- 此种情况只有在form表单提交,且action中填写的只是静态html,并没有请求接口的时候会这样。另外password 的输入框内容是共享的,共享管理密码中被记住的当前站点下的密码。不受name与id的影响
规则四
type=password 的 DOM 上面最近的input(type为 text或者email居多,如果上面是隐藏域,即便隐藏域中有默认值,也会依次往上查找)默认被chrome认为是password 的user名被保存下来,在 chrome 设置中的 管理密码 弹窗上可以一目了然的看清楚,记住密码的原理是按照 域名 + user + password 的形式记住的
规则五
即便主表单是被记住的,如果主表单没有name 或id,后期依然不能显示,然而被记住的密码在其他同站点下表单同类型的input会显示
如 主表单 index.html 即便只有user 没有name 和id ,password框有name,也会如此
//记住后不显示
//记住后不显示
附表单 password.html
//记住后显示
规则六
开发过程中会遇到的坑,是记住密码后。再改代码,依然发现记住的密码显示,于是以为修改的代码是有效或无效的,其实记住的是之前的,所以每次修改代码,需要清空所有缓存及记住的密码,比如 主表单 中 user的input 的类型email, name 为 user,输入内容提交表单记住密码后,再删掉name或者修改name,使其不为user,当加载到 email 的input 并且 name=user 的时候,双击,依然显示之前记住的内容
规则七
类型不相同的表单域,只要name 或者id 与之相同,依然会显示
如:主表单 index.html
附表单 email.html
//显示
//显示
//显示
当主表单被记住后, email.html 中第一个input双击后,依然显示了主表单记住的内容
因为 email类型的输入框是h5中新加入成员,强烈怀疑,本质其实是text,只不过为了开发方便,区分开来的,在做邮箱类型验证的时候能派上用场,此处待查
规则八
记住密码与其他输入域不同,没有弹窗选择记住密码,输入域依然会记住曾经输入的内容,而记住密码不同,是不会显示的
规则九--摘抄网上一段处理方式
如何禁用Chrome谷歌浏览器自动保存密码的提示?
在网页开发中,在表单中加入autocomplete="off"后,IE和FF不会提示保存密码,但是用Chrome浏览器登录系统时,会弹出自动保存密码的提示,从安全的角度考虑,需要禁止浏览器的这个功能,提升系统安全性。
大部分浏览器都是根据表单域的type="password"来判断密码域的,所以针对这种情况可以采取“动态设置密码域”的方法:
复制代码 代码如下:
解释:当这个文档框获取焦点时才将其变成密码域。
实测该方法简单有效,可以禁用Chrome浏览器提示保存密码的提示框。
注意,onfocus="this.type="password""不能再IE上识别,需要做兼容性考虑,在网页初始化的时候处理下就好了,对于IE浏览器,在input标签上使用用type="password" autocomplete="off"后,浏览器是不会提示记住密码的。
将autocomplete="off"属性放入表单form中时,firefox 依然显示弹窗询问是否记住密码,然而即便记住了,依然在表单中不显示,否则记住的信息会默认填充在表单中,即便刷新仍然无效
而chrome的处理方式 为只限制其他输入域的内容不显示,记住密码弹窗正常弹出,记住密码的两个关键输入域---被chrome记住的user和password,也依然会默认显示在输入框中
但很显然 这句话是有效的,因为当前表单中没有type=password 的输入框,chrome是不会弹窗显示提醒记住密码的
疑问:自己新建的demo中,除非使用input type=submit 或 button 或使用 $("form").submit() 总之,一定要表单提交,才会弹出弹窗提示记住密码,使用
submit 伪提交,完成ajax传输数据后跳转页面,是不会弹窗提示记住密码的,然而公司的项目也是使用了a标签,好奇怪,后天回公司看下
答案:不管是form表单提交还是ajax(不管是否登录成功),都会弹出 记住密码
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/50055.html
摘要:另外的输入框内容是共享的,共享管理密码中被记住的当前站点下的密码。注意,不能再上识别,需要做兼容性考虑,在网页初始化的时候处理下就好了,对于浏览器,在标签上使用用后,浏览器是不会提示记住密码的。 最近在做项目表单部分,发现选择chrome记住密码后,不但点击记住密码的页面表单,整个项目的表单都被影响,后多次反复试用,发现了几条规律,在此记录并给大家看看,如果有问题或者有需要补充的,请留...
摘要:另外的输入框内容是共享的,共享管理密码中被记住的当前站点下的密码。注意,不能再上识别,需要做兼容性考虑,在网页初始化的时候处理下就好了,对于浏览器,在标签上使用用后,浏览器是不会提示记住密码的。 最近在做项目表单部分,发现选择chrome记住密码后,不但点击记住密码的页面表单,整个项目的表单都被影响,后多次反复试用,发现了几条规律,在此记录并给大家看看,如果有问题或者有需要补充的,请留...
摘要:如何建立一个安全的记住我功能有这样一个场景有个用户初访并登录了你的网站,然而第二天他又来了,却必须再次登录。因此,应该意识到对于如何建立记住我功能上的真正误解,下面我们再来看看良性实践。 如何建立一个安全的记住我功能 有这样一个场景——有个用户初访并登录了你的网站,然而第二天他又来了,却必须再次登录。于是就有了记住我这样的功能来方便用户使用,然而有一件不言自明的事情,那就是这种认证状...
摘要:让看不见,而不是直接,如果直接,有些浏览器则不生效,比如谷歌修改属性将表单输入设为可读模式,浏览器自动填充就失效了,在焦点在该表单输入的时候再将可读属性移除。 问题描述 话说有一天,我如往常一样打开我的开发网站进行登录操作。浏览器很平常的在我们进行登录操作之后询问我是否需要记住密码,懒惰如我点击了记住密码。一切都很正常的进行着,没有什么异常发生。然而,问题就出现了。当我打开一个新建用户...
摘要:让看不见,而不是直接,如果直接,有些浏览器则不生效,比如谷歌修改属性将表单输入设为可读模式,浏览器自动填充就失效了,在焦点在该表单输入的时候再将可读属性移除。 问题描述 话说有一天,我如往常一样打开我的开发网站进行登录操作。浏览器很平常的在我们进行登录操作之后询问我是否需要记住密码,懒惰如我点击了记住密码。一切都很正常的进行着,没有什么异常发生。然而,问题就出现了。当我打开一个新建用户...
阅读 623·2021-11-23 09:51
阅读 3559·2021-11-15 11:38
阅读 891·2021-10-14 09:42
阅读 3091·2021-09-29 09:35
阅读 2039·2021-09-03 10:33
阅读 739·2021-07-30 16:33
阅读 1529·2019-08-30 15:55
阅读 1818·2019-08-30 14:04