zoukankan      html  css  js  c++  java
  • 表单自动填充autocomplete的兼容性方案

    以下情况下会自动填充用户和密码信息:

        1、在用户和密码包含在form的情况下,同时包含一个 type="text"和 type="password"元素且不包含readonly和disabled属性,两个元素可以没有name和id属性

        2、在没有form的情况下,同时包含一个 type="text"和 type="password"元素且不包含readonly和disabled属性,且两个元素至少都有name或id属性(但name和id可以是任意值但不能是空或空格)。

    规避以上情况可以实现禁止自动填充西账号密码

    登录或者注册浏览器会提示是否记住密码

    当浏览器记住密码后,之后的每次登录/注册都会自动填充输入框

    默认的解决方案是在form与input上添加autocomplete=“off”,但是在很多浏览器上不起作用

    网上也提供了好多方案,比如在最前面放一个隐藏的input标签或者是把autocomplete设置为new-password,浏览器调试工具测试后具不起作用啊,有木有

    (在chrome上测试了一下隐藏的type=text的input放在正常input的后面,而password放到前面)

    比较可信的有两种方案

    第一:

    默认设置input为readonly    onfouces的时候去掉这个属性,onblur的时候加上这个属性

    第二:

    现在页面显示一个假的输入框,当这个输入框foucus的时候,把真的输入框替换上去,当失去焦点的时候再替换回来,这样即使浏览器要记住密码也不会在输入框上留下痕迹

  • 相关阅读:
    C++成员函数在内存中的存储方式
    C++重写(覆盖)、重载、重定义、
    C++中的覆盖与隐藏(详细讲解)
    c++中被忽视的隐藏
    C++对象的内存分布和虚函数表
    C++ explicit关键字详解
    命名空间 extern的用法 static全局变量
    extern和include的作用
    extern用法总结
    KMP算法
  • 原文地址:https://www.cnblogs.com/fqlGlog/p/8303643.html
Copyright © 2011-2022 走看看