html解决浏览器记住密码输入框的问题


Posted in HTML / CSS onMay 07, 2023

在浏览器中提交表单后,浏览器一般会提示“是否需要记住密码”,确认后在下次提交表单的时候会自动填充某些输入框。

但是在某些情景下(例如在提现,充值的页面),自动填充密码就很不安全。需要采用一定的手段来阻止浏览器自动填充。

在解决的过程中遇到了一些坑,这里做一下笔记:

使用HTML属性 autocomplete="off"

由于自动填充这个特性是浏览器自己实现的,autocomplete这个属性也没有被写入W3C规范。很多浏览器都会直接忽略这个属性。无法禁用自动填充。

使用js在页面加载的时候设置input的value为空
很自然能想到的一个办法,但是浏览器的自动填充居然是在js执行完后再填充的。。。在使用js设置了input的value为空后,浏览器又把input自动填充,无法解决问题。

增加<input type=”password”/>

网上流传甚广的一个方法。这个方法在大部分版本的浏览器上是可行的,但是在某些高版本的浏览器和Safari中失效。后面介绍的几种方法都是基于这个方法的改进。

<!-- 额外增加的input -->
<input type="password" style="display:none"/>
<!-- 原先的input -->
<input type="password"/>

增加form

这个方法较上面那个解决了Safari下自动填充的问题。但是在某些高版本Chrome下失效。(经测试Chrome 46.0可行,Chrome 47.0失效)

<!-- 额外增加的form和input -->
<form style="display:none">
  <input type="password"/>
</form>
<!-- 原先的input -->
<input type="password"/>

最终解决方案

这个方案结合了上面两种方法,最终连Chrome 47.0下自动填充的问题也解决掉。

<!-- 额外增加的内容 -->
<form style="display:none">
  <input type="password"/>
</form>
<input type="password" style="width:0;height:0;float:left;visibility:hidden"/>
<!-- 原先的input -->
<input type="password"/>

这个方法中需要注意的是与目标input同辈的input不能设置成 display:none,如果设置后再Chrome 47.0上会自动填充,因此只能使用其他手段把这个input隐藏。

Summary

使用了最后一种方案后在各个浏览器中运行良好,暂时没发现出现自动填充的现象。果然前端的兼容性问题一直是一件让人恶心的事啊。。

到此这篇关于html解决浏览器记住密码输入框的问题的文章就介绍到这了,更多相关 html记住密码输入框内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
详解css3自定义滚动条样式写法
Dec 25 HTML / CSS
在HTML5中如何使用CSS建立不可选的文字
Oct 17 HTML / CSS
一款纯css3实现的颜色渐变按钮的代码教程
Nov 12 HTML / CSS
使用CSS3 制作一个material-design 风格登录界面实例
Dec 12 HTML / CSS
详解使用HTML5的classList属性操作CSS类
Oct 13 HTML / CSS
Html5中的桌面通知Notification的实现
Sep 25 HTML / CSS
html5 http的轮询和Websocket原理
Oct 19 HTML / CSS
html5 postMessage前端跨域并前端监听的方法示例
Nov 01 HTML / CSS
吃透移动端 Html5 响应式布局
Dec 16 HTML / CSS
前后端结合实现amazeUI分页效果
Aug 21 HTML / CSS
浅谈由position属性引申的css进阶讨论
May 25 HTML / CSS
使用CSS实现百叶窗效果示例代码
May 07 HTML / CSS
使用CSS实现百叶窗效果示例代码
使用CSS实现按钮边缘跑马灯动画
使用CSS实现音波加载效果
table不让td文字溢出操作方法
Dec 24 #HTML / CSS
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
Dec 24 #HTML / CSS
td 内容自动换行 table表格td设置宽度后文字太多自动换行
Dec 24 #HTML / CSS
HTML页面点击按钮关闭页面的多种方式
Dec 24 #HTML / CSS
You might like
PR值查询 | PageRank 查询
2006/12/20 PHP
检测png图片是否完整的php代码
2010/09/06 PHP
js限制checkbox勾选的个数以及php获取多个checkbbox的方法深入解析
2013/07/18 PHP
Jquery 学习笔记(一)
2009/10/13 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
基于JQuery的抓取博客园首页RSS的代码
2011/12/01 Javascript
JS打印gridview实现原理及代码
2013/02/05 Javascript
JavaScript sup方法入门实例(把字符串显示为上标)
2014/10/20 Javascript
JavaScript实现的一个倒计时的类
2015/03/12 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
7个jQuery最佳实践
2016/01/12 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
2016/05/31 Javascript
详解vuejs之v-for列表渲染
2017/06/22 Javascript
以BootStrap Tab为例写一个前端组件
2017/07/25 Javascript
前端主流框架vue学习笔记第二篇
2017/07/26 Javascript
在 Vue 项目中引入 tinymce 富文本编辑器的完整代码
2018/05/04 Javascript
[01:21]辉夜杯战队访谈宣传片—CDEC
2015/12/25 DOTA
详解常用查找数据结构及算法(Python实现)
2016/12/09 Python
Python实现字典去除重复的方法示例
2017/07/31 Python
关于Python正则表达式 findall函数问题详解
2018/03/22 Python
python如何实现数据的线性拟合
2019/07/19 Python
使用PYTHON解析Wireshark的PCAP文件方法
2019/07/23 Python
解决在pycharm运行代码,调用CMD窗口的命令运行显示乱码问题
2019/08/23 Python
Python 分布式缓存之Reids数据类型操作详解
2020/06/24 Python
一个J2EE项目团队的主要人员组成是什么
2012/06/04 面试题
大学本科毕业生的自我鉴定
2013/11/26 职场文书
最新奶茶店创业计划书
2014/01/25 职场文书
餐厅销售主管职责范本
2014/02/19 职场文书
开学典礼主持词
2014/03/19 职场文书
高中生操行评语大全
2014/04/25 职场文书
投标承诺书怎么写
2014/05/24 职场文书
公司授权委托书格式样本
2014/10/01 职场文书
幼儿园法制宣传日活动总结
2014/11/01 职场文书
不同意离婚答辩状
2015/05/22 职场文书
高中军训感想
2015/08/07 职场文书
幼儿园迎新生欢迎词
2015/09/30 职场文书