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实现一个div设置多张背景图片及background-image属性实例演示
Aug 10 HTML / CSS
CSS3 实用技巧:实现黑白图像效果示例代码
Jul 11 HTML / CSS
利用纯css3实现的文字亮光特效的代码演示
Nov 27 HTML / CSS
详解CSS3中Media Queries的相关使用
Jul 17 HTML / CSS
使用CSS3编写类似iOS中的复选框及带开关的按钮
Apr 11 HTML / CSS
详解CSS3的图层阴影和文字阴影效果使用
Jun 09 HTML / CSS
CSS3 @keyframes简单动画实现
Feb 24 HTML / CSS
css3编写浏览器背景渐变背景色的方法
Mar 05 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
Sep 13 HTML / CSS
HTML5页面中尝试调起APP功能
Sep 12 HTML / CSS
HTML+CSS 实现顶部导航栏菜单制作
Jun 03 HTML / CSS
CSS中理解层叠性及权重如何分配
Dec 24 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
ThinkPHP 防止表单重复提交的方法
2011/08/08 PHP
克隆一个新项目的快捷方式
2013/04/10 PHP
C#静态方法与非静态方法实例分析
2014/09/22 PHP
php实现微信模板消息推送
2018/03/30 PHP
javascript 定义新对象方法
2010/02/20 Javascript
javascript遍历控件实例详细解析
2014/01/10 Javascript
JavaScript实现的购物车效果可以运用在好多地方
2014/05/09 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
JS组件Bootstrap dropdown组件扩展hover事件
2016/04/17 Javascript
使用jQuery给input标签设置默认值
2016/06/20 Javascript
浅谈vuex之mutation和action的基本使用
2017/08/29 Javascript
jQuery实现验证表单密码一致性及正则表达式验证邮箱、手机号的方法
2017/12/05 jQuery
vue iview组件表格 render函数的使用方法详解
2018/03/15 Javascript
解决vue js IOS H5focus无法自动弹出键盘的问题
2018/08/30 Javascript
jQuery 图片查看器插件 Viewer.js用法简单示例
2020/04/04 jQuery
小程序开发之模态框组件封装
2020/04/23 Javascript
[56:48]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
Python和php通信乱码问题解决方法
2014/04/15 Python
利用Python绘制MySQL数据图实现数据可视化
2015/03/30 Python
Python下的twisted框架入门指引
2015/04/15 Python
Python中的日期时间处理详解
2016/11/17 Python
Python实现的人工神经网络算法示例【基于反向传播算法】
2017/11/11 Python
python3 破解 geetest(极验)的滑块验证码功能
2018/02/24 Python
pycharm debug功能实现跳到循环末尾的方法
2018/11/29 Python
基于python实现删除指定文件类型
2020/07/21 Python
高校自主招生自荐信
2013/12/09 职场文书
高二生物教学反思
2014/01/27 职场文书
网络教育自我鉴定
2014/02/04 职场文书
项目投资意向书
2014/04/01 职场文书
事业单位鉴定材料
2014/05/25 职场文书
工作检讨书500字
2014/10/19 职场文书
政风行风建设整改方案
2014/10/27 职场文书
学生会个人总结范文
2015/02/15 职场文书
opencv 分类白天与夜景视频的方法
2021/06/05 Python
最新最全的手机号验证正则表达式
2022/02/24 Javascript