查看ie保存的表单_解决浏览器保存密码自动填充问题

解决浏览器保存密码自动填充问题

问题描述

话说有一天,我如往常一样打开我的开发网站进行登录操作。浏览器很平常的在我们进行登录操作之后询问我是否需要记住密码,懒惰如我点击了记住密码。一切都很正常的进行着,没有什么异常发生。然而,问题就出现了。当我打开一个新建用户的操作,里面的输入框自动将我的用户名和密码默认填写进去了,然后触发了内置的校验规则

ed3dff28c5c1ee6d295b8d75eaf28273.png

5a43e3f4eac5403494eea4dda4f01c04.png

在我确认过在打开编辑框的时候已经输入框的数据重置之后,开始了我的排查错位之旅。从cookie,本地缓存等等,都没有发现相关的问题。后来发现是浏览器存在自动填充机制的问题。

浏览器自动填充机制

经过我的反复测试,以Chrome为例,当浏览器遇到type="text"与type="password"的标签紧邻时,会触发浏览器自动填充行为。默认为黄色背景。firefox和360浏览器的处理方式是:只要检测到页面里有满足填充机制的,不管是不是display:none 的,只要检测到就直接往里填充。

解决方案

  1. 设置浏览器不提示记住密码,记住密码的网站都在设置里可以看到,并且可以去除(很明显,这个方法治标不治本,我就想记住密码还不行吗?)

29acb7f829eb910546f8ffe9d1982cad.png
  1. 使用HTML5新属性autocomplete="off" 但禁用自动填充。这个属性好像是firefox发起的,并不是标准属性,所以这块主要是针对ie和获取浏览器生效。谷歌不承认这个属性。所以在谷歌浏览器上并没有产生任何效果
  2. 既然浏览器遇到type="text"与type="password"的标签紧邻时触发自动填充行为,则将两个隔开,使用隐藏的方式“欺骗”浏览器,将密码信息填写在隐藏区域。

css?linenums .is-hidden { position: absolute; left: -10000px; top: -10000px; } ¨G0G html?linenums /*让input看不见,而不是直接display: none,如果直接display: none,有些浏览器则不生效,比如谷歌*/ <input type="text" class="is-hidden" /> <input type="password" class="is-hidden" /> ¨G1G html?linenums <input type="password" readonly onfocus="this.removeAttribute('readonly');"/>
将表单输入设为可读模式,浏览器自动填充就失效了,在焦点在该表单输入的时候再将可读属性移除。该方法亲试简洁好用

总结

在以上介绍的方法并不是全部的解决方法,目前我用的是第四个方法比较多,虽然第三个方法也挺好用,但是多增加标签的类型不符合我的作风,还是默默的用了第四种方法。欢迎大家补充更多的一些方法,未完待续!
作者简介:张敏,芦苇科技web前端开发工程师,低调冷幽默,深藏不露。代表作品:微鱼娃娃机系统、TopShow活动报名小程序。擅长网站建设、微信公众号开发、微信小程序开发、小游戏制作、企业微信制作、H5建设,专注于前端框架、交互设计、图像绘制、数据分析等研究。

欢迎和我们一起并肩作战: web@talkmoney.cn
访问 http://www.talkmoney.cn 了解更多

提供专业的微信公众号外包,靠谱的钉钉开发,深圳企业微信建设,高质量的微信小程序开发,广东小游戏开发,东莞H5制作

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/534173.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python mysql 正则表达式,MySQL之正则表达式(REGEXP)

MySQL中正则表达式通常被用来检索或替换符合某个模式的文本内容&#xff0c;根据指定的匹配模式匹配文中符合要求的特殊字符串。例如&#xff0c;从一个文件中提取电话号码&#xff0c;查找一篇文章中重复的单词或替换用户输入的敏感语汇等&#xff0c;这些地方都可以使用正则表…

pyecharts anaconda_Pyecharts安装使用和绘图案例

一次偶然的机会&#xff0c;接触了pyecharts&#xff0c;发现做图交互效果非常棒&#xff0c;便深究、摸索、入坑。这篇文章主要讲述自己在安装和使用中遇到的问题&#xff0c;解决方法&#xff0c;最后还会有pyecharts中自己比较喜欢的绘图功能。pyecharts是一款将python与ech…

如何把密度函数化为标准正态二维分布_概率微课:第三章(22) 二维随机变量及分布函数定义...

主要内容二维随机变量及分布函数定义更多系列视频概率微课&#xff1a;第二章(1) 随机变量的定义概率微课&#xff1a;第二章(2) 离散型随机变量概率微课&#xff1a;第二章(3) 两点分布及伯努利试验概率微课&#xff1a;第二章(4) 二项分布1概率微课&#xff1a;第二章(5) 二…

php中的缓,php中的缓存机制解释

php缓存的理解&#xff0c;先列出ob系列函数的作用&#xff1a;ob_start(func) 开启php缓存&#xff0c;回调函数是对缓存内数据的处理函数ob_gzhandler 作为 ob_start 的回调函数&#xff0c;对数据进行gz压缩ob_implicit_flush(true/false) 打开或关闭apache缓存&#xff0c…

php 下拉菜单多选get,Jquery实现select二级联动多选下拉菜单

前言平时虽然也有写前端&#xff0c;但是对于一些复杂的功能实现仍是一知半解。这次项目需要实现一个多选下拉菜单&#xff0c;并且该菜单要和上级下拉菜单保持联动。更加麻烦的是&#xff0c;我需要完成以下操作&#xff0c;以省、市二级联动菜单为例&#xff1a;选择河北省 &…

idea快捷键打开run的窗口_看了上篇文章,你不了解的IDEA操作……

注意作者&#xff1a;卡洛小豆。换种方式写文章&#xff0c;写的不好请多多见谅。未经授权&#xff0c;禁止转载夜&#xff0c;结束了一天的喧嚣后安静下来&#xff0c;伴随着远处路灯那微弱的光。风&#xff0c;毫无预兆地席卷整片旷野&#xff0c;撩动人的思绪万千。那是一个…

arma模型_Eviews经典案例 | 初学者必看!ARMA模型精讲

【本期分析师介绍】希音老师&#xff0c;《数据分析学堂》金牌分析师&#xff0c;对eviews的时间序列、ARMA、VAR、VECM、ARCH、GARCH等操作有深入的研究和实战经验&#xff0c;累计服务客户1000。今天邀请希音老师给大家分享eviews的详细操作步骤。长文预警!可在文末联系麻瓜学…

c# 路径下的最近文件夹_C#8.0的两个有趣的新特性以及gRPC

最近每天忙着跑很多地方&#xff0c;回家就不想动了&#xff0c;没什么心情写东西。今天有空&#xff0c;稍微写一点。下文中&#xff1a;关于C#语法特性的部分需要Visual Studio 2019支持。关于.NET Core的部分需要安装.NET 3.0 Preview4&#xff0c;低版本或许也可以但我没实…

alter table add column多个字段_ElementUI表格el-table表头固定自适应高度解决方案

一、前言ElementUI、iView都以相同的方式提供了表格组件表头固定的方法&#xff0c;即设置组件的height属性。表头固定很重要&#xff0c;就在于当表格数据项很多时&#xff0c;滚动条出现在表格组件内&#xff0c;而不是出现在表格组件外——这样的优点在于&#xff0c;滚动浏…

oracle ora 12011,执行oracle中的job报错:ORA-12011:无法执行作业1

LZ在做一个job执行每天新增一个表的操作时&#xff0c;存储过程运行没问题&#xff0c;job也创建成功&#xff0c;但运行job时&#xff0c;却报错&#xff1a; &#xff0c;后又用sys用户登陆创建了同样的存储过程和job&#xff0c;结果可以执行成功。当时就猜测是权限问题。后…

e盘是否具有读写权限_轻松搭建MySQL主从复制、读写分离(双机热备)

主从复制&#xff1a; 当mysql数据库的数据量太大的时候&#xff0c;查询数据就很吃力了&#xff0c;无论怎么优化都会产生瓶颈&#xff0c;这时我们需要增加服务器设备来实现分布式数据库&#xff0c;实现多机热备份&#xff0c;要想实现多机的热备&#xff0c;首先要了解主从…

linux运维之道基础命令,Linux运维之道(7)——Linux管理类命令

(Linux)[系统管理]1. 目录管理类命令1.1 cd命令格式&#xff1a;cd [-L|[-P [-e]] [-]] [dir]被你忽略的小知识&#xff1a;在这里科普一个小小的知识点&#xff0c;就是关于cd -为什么可以自由的在当前目录和之前目录相互切换&#xff1f;其实&#xff0c;在我们的 Shell 的环…

html画图代码_python之matplotlib画图教程(2)

各位小表贝&#xff0c;你们的画图小老弟又来咯~上一次我们聊到了如何画离散图&#xff0c;这一次我们来点复杂的&#xff0c;准备好了么&#xff0c;系好安全带&#xff0c;准备发车咯~滴滴~我们先来点比较简单&#xff0c;那种易于上手的。如果现在我知道了两个点的坐标&…

python图像识别代码_用Python进行简单图像识别(验证码)

这是一个最简单的图像识别&#xff0c;将图片加载后直接利用Python的一个识别引擎进行识别 将图片中的数字通过 pytesseract.image_to_string(image)识别后将结果存入到本地的txt文件中 #-*-encoding:utf-8-*- import pytesseract from PIL import Image class GetImageDate(ob…

c++ map初始化_Go学习每日一问(18)-map元素查找

每次学习并整理一个Golang的知识点&#xff0c;每天进步一点点。今天学习下go中的一个知识点:map元素查找日省吾身1.下面代码中 A B 两处应该怎么修改才能顺利编译&#xff1f;func main() { var m map[string]int //A m["a"] 1 if v : m["b&q…

-bash: wget: 未找到命令_18个堪称神器的命令行工具,高效运维必备

上期入口&#xff1a;24个 CSS 高级技巧合集提示&#xff1a;因公众号不支持超链接&#xff0c;上图所有项目地址&#xff0c;可在公众号后台回复关键字 “命令行工具” 获取。thefuck命令行打错了以后&#xff0c;打一个fuck就会自动纠正。GitHub&#xff1a;https://github.c…

linux编辑java文本,linux下的文本编辑器VI的使用命令

1、 移动光标H        #移到屏幕的左上角M         #移到屏幕的中间行开头L          #移到屏幕的最后一行[         #移到文件开始位置 (双击)]         #移到文件结束位置(双击):n         #移到文件的第n行Ctrl b     …

python3.8.0安装_Python3.8.0

Python3.8.0是一款广受程序员欢迎的编程语言&#xff0c;也是面向对象的一款设计语言&#xff0c;Python以其语言的灵活和简易性&#xff0c;具有非常简捷而清晰的语法特点&#xff0c;在脚本工具、数据分析、web后端等等领域都有着优良的表现&#xff0c;收到了大家的广泛应用…

cv2.error: opencv(4.4.0)_【从零学习OpenCV 4】轮廓面积与长度

本文首发于“小白学视觉”微信公众号&#xff0c;欢迎关注公众号 本文作者为小白&#xff0c;版权归人民邮电出版社发行所有&#xff0c;禁止转载&#xff0c;侵权必究&#xff01; 经过几个月的努力&#xff0c;小白终于完成了市面上第一本OpenCV 4入门书籍《OpenCV 4开发详解…

python自定义安装哪些不需要_【1】python模块:自定义模块的3种导入方式

一、定义 模块就是用一堆的代码实现了一些功能的代码的集合&#xff0c;通常一个或者多个函数写在一个.py文件里&#xff0c;而如果有些功能实现起来很复杂&#xff0c;那么就需要创建n个.py文件&#xff0c;这n个.py文件的集合就是模块。如果不懂可以先看下面这篇博文&#xf…