Element和AntD表单自动填充账号密码,如何清除?

背景

最近有业务向产品反馈,每次点击文本框或者下拉框时,都会自动填充一堆账号密码,严重影响系统的使用体验,于是产品咨询前端开发,希望把这个问题处理掉。

问题截图如下:

问题修复

Element的表单组件如el-inputel-select等,在中后台系统中,往往都会自动填充曾登录过的账号密码。

网上实际上有很多方案,但是几乎没有找到一个靠谱的,比如:

  • 修改type=search,经验证:无效。
  • 修改autocomplete="off",经验证:无效。
  • 修改autocomplete="new-password",经验证:无效。
  • 使用脚本处理密码输入框,根据输入内容进行分割处理。可以解决,但开发过于复杂,同时账号自动填充并不仅仅发生在密码框中,文本框也会自动填充。

目前发现有一种相对简单的做法:

  1. 在文本框的下面再定义一个文本框,但是需要屏蔽文本框不显示。
html 复制代码
<el-select
  v-model="currentCompany"
  filterable
  placeholder="请选择"
  style="border-radius:2px;overflow:hidden;"
>
  <el-option
    v-for="(item, index) in authStaffComList"
    :key="index"
    :label="item.name"
    :value="item.id"
  >
  </el-option>
</el-select>
</template>
<!-- 解决账号被自动填充问题 -->
<el-input type="text" style="position: absolute;z-index: -999;"/>
  1. 为了不影响业务功能,需要设置样式,隐藏该文本框。
html 复制代码
<!-- 解决账号被自动填充问题 -->
<el-input type="text" style="position: absolute;z-index: -999;"/>
  1. 页面测试,通过

再次点击下拉框,填充密码消失,问题解决。

为什么?

其实,我们并没有彻底解决,我们只是做了移花接木,不信你看。

  1. 打开网站,隐藏索引

关闭z-index后,文本框会显示出来。

  1. 点击文本框,密码又出来了。

所以,我们只是把账号密码填充功能,移到了另外一个文本框上面而已,本身并没有通过技术的手动彻底解决浏览器自动填充问题。

末尾

好了,我是河畔一角,一个普通的前端工程师。记录一个小问题,希望能够帮到遇到同样问题的你,祝你生活愉快,前程似锦。

相关推荐
子兮曰4 小时前
Bun v1.3.14 深度解析:Image API、HTTP/3、全局虚拟存储与五十项变革
前端·后端·bun
kyriewen5 小时前
今天,百年巨头一次砍了9200人,而一个离职科学家的实话让全网睡不着觉
前端·openai·ai编程
问心无愧05135 小时前
ctf show web 入门42
android·前端·android studio
kyriewen6 小时前
老板逼我上AI,我偷偷在浏览器里跑LLaMA,省下20万API费
前端·react.js·llm
Beginner x_u6 小时前
前端八股整理(手写 02)|数组转树、数组扁平化、随机打乱一个数组
前端·数组·数组转树·数组扁平化
KaMeidebaby6 小时前
卡梅德生物技术快报|禽类成纤维细胞 FISH 实验:鸟类性别染色体基因定位技术实现与数据验证
前端·数据库·其他·百度·新浪微博
天若有情6736 小时前
前端高阶性能优化:跳出传统懒加载与预加载,基于用户行为做轻量预判加载
前端·性能优化
小小小小宇6 小时前
前端转后端:SQL 是什么
前端
张元清7 小时前
React Observer Hooks:7 种监听 DOM 而不写样板代码的方式
前端·javascript·面试
广州华水科技7 小时前
单北斗GNSS变形监测是什么?主要有怎样的应用与优势?
前端