js禁止chrome保存密码、更新密码

chrome自带buff,对于属性type="password"的输入框会自动保存密码;
下次遇到type="password" 的输入框时候,会自动填充密码;
你在输入不同的密码之后,还会很人性的提示你是否需要更新密码。

这样也许对用户是好事,但是太频繁的的弹框提示,并不表示所有的业务场景都需要。

我们项目中,只在登录模块允许浏览器保存密码,由于是高频操作的产品,其他任何地方输入框禁止出现浏览器弹框提示更新密码,或者保存密码的操作。

这样一来就必须解决浏览器这个属性了,翻遍网上的方案,大致分为:
1.使用 autocomplete="off" 、 autocomplete="new password" 、 autocomplete="false" ,禁止自动填充。
2.获取焦点时候切换 type 或者readonly属性,这种没什么效果,自动填充好解决

<input type="password" name="Password" autocomplete="off" readonly 
onfocus="this.removeAttribute('readonly');" >

思来想去,只要type为password,那么就会有这个问题,那就不用password类型,

  • 一开始想到的山寨方法,使用伪类或者字体图标实现密码框的原点效果,遮挡在text类型上的文字上面,也能实现,存在的问题是,不能切换为英文输入法,中文时候也能录入。

  • 还有一种解决方法,可以实现禁止弹更新密码的弹窗,就是监听输入框input事件,每次输入时候,将value置为空,延时赋值,不过带来新的问题是,输入框下面出现密码选择的列表。

 <el-input type="text" v-model.trim="password" 
              autocomplete="off" value=""
              @input="handlePwdChange">
 </el-input>
...
     handlePwdChange(v) {
        this.password = ''
        setTimeout(() => {
          this.password = v
        }, 0)
      },
  • 翻了翻stackoverflow,发现一个hack方法,跟我的有异曲同工之妙,
type="text"
 style="text-security:disc; -webkit-text-security:disc;"

这个存在兼容问题,只能webkit内核的浏览器上工作,该属性后面会不会被干掉也不能保证,好在我们的项目要求必须使用chrome浏览器,嘎嘎。暂时解决了,这个同样存在不能限制输入法的问题。
怎么不允许输入中文,那就用正则吧,

 onkeyup="this.value=this.value.replace(/[\u4e00-\u9fa5]/g,'')"
  • 同上面的方法,可以使用字体图标,建立自己的text-security
[https://github.com/kylewelsby/dotsfont](https://github.com/kylewelsby/dotsfont)

@font-face
    {
    font-family:'dotsfont';
    src:url('dotsfont.eot');
    src:url('dotsfont.eot?#iefix')  format('embedded-opentype'),
        url('dotsfont.svg#font')    format('svg'),
        url('dotsfont.woff')        format('woff'),
        url('dotsfont.ttf')         format('truetype');
    font-weight:normal;
    font-style:normal;
}

input.myclass
    {-webkit-text-security:disc;font-family:dotsfont;}
暂时的解决方法:(不考虑非webkit内核浏览器)
 <el-input
              type="text"
              v-model.trim="pass"
              :maxlength="20"
              onkeyup="this.value=this.value.replace(/[\u4e00-\u9fa5]/g,'')"
              oncontextmenu="return false"
              onpaste="return false"
              oncopy="return false"
              oncut="return false"
              auto-complete="off" value=""
              style="text-security:disc; -webkit-text-security:disc;ime-mode:disabled"
            >
            </el-input>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,271评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,275评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,151评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,550评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,553评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,559评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,924评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,580评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,826评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,578评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,661评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,363评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,940评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,926评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,156评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,872评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,391评论 2 342