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弹性盒模型开发笔记(三)
Apr 26 HTML / CSS
CSS3教程(8):CSS3透明度指南
Apr 02 HTML / CSS
检测用户浏览器是否支持CSS3的方法
Aug 29 HTML / CSS
使用CSS媒体查询(Media Queries)和JavaScript判断浏览器设备类型的方法
Apr 03 HTML / CSS
详解CSS3中border-image的使用
Jul 18 HTML / CSS
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
Feb 27 HTML / CSS
css3动画效果小结(推荐)
Jul 25 HTML / CSS
CSS3实现淘宝留白的方法
Jun 05 HTML / CSS
html5在移动端的屏幕适应问题示例探讨
Jun 15 HTML / CSS
html5开发三八女王节表白神器
Mar 07 HTML / CSS
AmazeUI 折叠面板的实现代码
Aug 17 HTML / CSS
css常用字体属性与背景属性介绍
Feb 28 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
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
学习PHP的数组总结【经验】
2016/05/05 PHP
PHP7.1方括号数组符号多值复制及指定键值赋值用法分析
2016/09/26 PHP
PHP使用 Pear 进行安装和卸载包的方法详解
2019/07/08 PHP
背景音乐每次刷新都可以自动更换
2007/02/01 Javascript
javaScript矢量图表库-gRaphael几行代码实现精美的条形图/饼图/点图/曲线图
2013/01/09 Javascript
JavaScript如何从listbox里同时删除多个项目
2013/10/12 Javascript
jquery form 加载数据示例
2014/04/21 Javascript
JavaScrip调试技巧之断点调试
2015/10/22 Javascript
JavaScript实现时间倒计时跳转(推荐)
2016/06/28 Javascript
js智能获取浏览器版本UA信息的方法
2016/08/08 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
JS实现图片放大缩小的方法
2017/02/15 Javascript
jQuery正则验证注册页面经典实例
2017/06/10 jQuery
Vue页面手动刷新,实现导航栏激活项还原到初始状态
2020/08/06 Javascript
[01:08]DOTA2“血战之命”预告片
2017/08/12 DOTA
python实现多线程的方式及多条命令并发执行
2016/06/07 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
2016/09/19 Python
Python制作Windows系统服务
2017/03/25 Python
Python导入模块时遇到的错误分析
2017/08/30 Python
Flask web开发处理POST请求实现(登录案例)
2018/07/26 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
python GUI库图形界面开发之PyQt5 UI主线程与耗时线程分离详细方法实例
2020/02/26 Python
django 取消csrf限制的实例
2020/03/13 Python
使用HTML5 IndexDB存储图像和文件的示例
2018/11/05 HTML / CSS
乌克兰电子产品和家用电器购物网站:TOUCH
2019/08/09 全球购物
值类型与引用类型有什么不同?请举例说明?并分别列举几种相应的数据类型
2015/10/24 面试题
什么是会话Bean
2015/05/14 面试题
J2ee常用的设计模式?说明工厂模式
2015/05/21 面试题
活动志愿者自荐信
2014/01/27 职场文书
数控技术专业毕业自荐书范文
2014/02/05 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
2016春节家属慰问信
2015/03/25 职场文书
单位收入证明范本
2015/06/18 职场文书
小学体育课教学反思
2016/02/16 职场文书
如何避免mysql启动时错误及sock文件作用分析
2022/01/22 MySQL