chromium内核浏览器缓存在vue中自动覆盖password问题

在360,chrome等浏览器登陆页面中,登录后会有提示是否保存,之后项目的页面中再次出现password属性的标签的话会在页面跳转过后自动将保存的账号密码加到input里面,最近正好碰到了这个问题,记录下,希望对其他人有所帮助。


登录代码  <input type="password" v-model="value" >

在vue中原生密码框的写法,现在在网上的普遍做法是加上readonly属性和设置autocomplete="off"属性,经过测试并不能达到想要的效果。


<input type="password" v-model="value" readonly autocomplete="off" onfocus="this.removeAttribute('readonly')"/>

这样设置之后,在后续页面中还是出现了密码覆盖的情况,经过探索,浏览器中出现密码缓存覆盖的情况,过程是页面渲染过后才会执行缓存覆盖的,focus执行之后才发生覆盖的情况,这样,由于网络问题并不能完全处理已经发生的问题,可以通过click事件代替focus事件。


<input type="password" v-model="value" readonly autocomplete="off" onclick="this.removeAttribute('readonly')"/>

在iview中,可以设置native修饰符


<Input type="password" v-model="value" readonly autocomplete="off" @click.native="handlePassword"/>

<script>
handlePassword(e) {
e.currentTarget.removeAttribute("readonly");
}
</script>


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,668评论 1 32
  • 第3章 基本概念 3.1 语法 3.2 关键字和保留字 3.3 变量 3.4 数据类型 5种简单数据类型:Unde...
    RickCole阅读 5,527评论 0 21
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML标准。 注意:讲述HT...
    kismetajun阅读 28,825评论 1 45
  • HTML 5 HTML5概述 因特网上的信息是以网页的形式展示给用户的,因此网页是网络信息传递的载体。网页文件是用...
    阿啊阿吖丁阅读 4,955评论 0 0
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,163评论 1 92

友情链接更多精彩内容