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实现手风琴风格菜单具体步骤
May 06 HTML / CSS
利用CSS3实现圆角的outline效果的教程
Jun 05 HTML / CSS
css3 中的新特性加强记忆详解
Apr 16 HTML / CSS
HTML5 Canvas绘制文本及图片的基础教程
Mar 14 HTML / CSS
借助HTML5 Canvas来绘制三角形和矩形等多边形的方法
Mar 14 HTML / CSS
HTML5新控件之日期和时间选择输入的实现代码
Sep 13 HTML / CSS
html5 跨文档消息传输示例探讨
Apr 01 HTML / CSS
一款利用html5和css3动画排列人物头像的实例演示
Dec 05 HTML / CSS
HTML5全屏(Fullscreen)API详细介绍
Apr 24 HTML / CSS
HTML5中的拖放实现详解
Aug 23 HTML / CSS
HTML5在手机端实现视频全屏展示方法
Nov 23 HTML / CSS
元素水平垂直居中的方式
Mar 31 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
深入掌握include_once与require_once的区别
2013/06/17 PHP
PHP 面向对象程序设计(oop)学习笔记(一) - 抽象类、对象接口、instanceof 和契约式编程
2014/06/12 PHP
PHP提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
PHP7匿名类用法分析
2016/09/26 PHP
解决Yii2邮件发送结果返回成功,但接收不到邮件的问题
2017/05/23 PHP
Yii2.0实现的批量更新及批量插入功能示例
2019/01/29 PHP
PHP使用PhpSpreadsheet操作Excel实例详解
2020/03/26 PHP
Jquery在IE7下无法使用 $.ajax解决方法
2009/11/11 Javascript
Jquery实现控件的隐藏和显示实例
2014/02/08 Javascript
页面按钮禁用与解除禁用的方法
2014/02/19 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
使用jQuery制作基础的Web图片轮播效果
2016/04/22 Javascript
第一次接触Bootstrap框架
2016/10/24 Javascript
前端JS面试中常见的算法问题总结
2016/12/23 Javascript
jquery实现简单实用的轮播器
2017/05/23 jQuery
用vue写一个仿简书的轮播图的示例代码
2018/03/13 Javascript
LayUi中接口传数据成功,表格不显示数据的解决方法
2018/08/19 Javascript
Vue事件处理原理及过程详解
2020/03/11 Javascript
python将人民币转换大写的脚本代码
2013/02/10 Python
python中while循环语句用法简单实例
2015/05/07 Python
Python之os操作方法(详解)
2017/06/15 Python
python3.4.3下逐行读入txt文本并去重的方法
2018/04/29 Python
在 Jupyter 中重新导入特定的 Python 文件(场景分析)
2019/10/27 Python
Django 博客实现简单的全文搜索的示例代码
2020/02/17 Python
深入了解Python 变量作用域
2020/07/24 Python
Scrapy-Redis之RedisSpider与RedisCrawlSpider详解
2020/11/18 Python
python 制作网站筛选工具(附源码)
2021/01/21 Python
细说CSS3中的选择符
2008/10/17 HTML / CSS
意大利值得信赖的在线超级药房:PillolaStore
2020/02/05 全球购物
建筑设计学生的自我评价
2014/01/16 职场文书
人力资源部门的主要职能
2014/02/22 职场文书
护校行动方案
2014/05/31 职场文书
上班迟到检讨书范文
2015/05/06 职场文书
施工现场安全管理制度
2015/08/05 职场文书
读《人生的智慧》有感:闲暇是人生的精华
2019/12/25 职场文书
python元组打包和解包过程详解
2021/08/02 Python