当前位置: 首页 > 知识库问答 >
问题:

Chrome忽略AutoComplete=“Off”

岳英耀
2023-03-14

我创建了一个web应用程序,它使用了一个下拉标签框。这在除了Chrome浏览器(版本21.0.1180.89)之外的所有浏览器中都很好用。

尽管input字段和form字段都具有autocomplete=“off”属性,但Chrome坚持要显示该字段以前条目的下拉历史记录,这将抹掉tagbox列表。

共有2个答案

红明德
2023-03-14

更新

现在看来,Chrome忽略了style=“display:none;”style=“visibility:hidden;属性。

您可以将其更改为以下内容:

<input style="opacity: 0;position: absolute;">
<input type="password" style="opacity: 0;position: absolute;">

根据我的经验,Chrome只自动完成第一个和前面的。所以我补充了一句:

<input style="display:none">
<input type="password" style="display:none">

的顶部,并解决了大小写。

广乐邦
2023-03-14

防止自动完成用户名(或电子邮件)和密码:

<input type="email" name="email"><!-- Can be type="text" -->
<input type="password" name="password" autocomplete="new-password">

阻止自动完成字段(可能不起作用):

<input type="text" name="field" autocomplete="nope">

说明:

尽管具有autocomplete=“off”autocomplete仍然对有效,但您可以将off更改为随机字符串,如nope

其他禁用字段自动完成的“解决方案”(这不是正确的方法,但它有效):

1.

HTML:

<input type="password" id="some_id" autocomplete="new-password">

JS(onload):

(function() {
    var some_id = document.getElementById('some_id');
    some_id.type = 'text';
    some_id.removeAttribute('autocomplete');
})();

或使用jQuery:

$(document).ready(function() {
    var some_id = $('#some_id');
    some_id.prop('type', 'text');
    some_id.removeAttr('autocomplete');
});

2.

HTML:

<form id="form"></form>

JS(onload):

(function() {
    var input = document.createElement('INPUT');
    input.type = 'text';
    document.getElementById('form').appendChild(input);
})();

或使用jQuery:

$(document).ready(function() {
    $('<input>', {
        type: 'text'
    }).appendTo($('#form'));
});

使用jQuery添加多个字段:

null

function addField(label) {
  var div = $('<div>');
  var input = $('<input>', {
    type: 'text'
  });
  
  if(label) {
    var label = $('<label>', {
      text: label
    });
    
    label.append(input);
    div.append(label);    
  } else {
    div.append(input);    
  }  
  
  div.appendTo($('#form'));
}

$(document).ready(function() {
  addField();
  addField('Field 1: ');  
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="form"></form>
 类似资料:
  • 我创建了一个使用标记框下拉列表的web应用程序。这在除Chrome浏览器(版本21.0.1180.89)之外的所有浏览器中都非常有效。 尽管字段和字段都具有属性,但Chrome坚持显示该字段以前输入项的下拉历史记录,这将删除标记框列表。

  • 我创建了一个小提琴,试图使用字体权重为300的Open Sans字体: HTML语言 CSS公司 我使用谷歌字体来定义CSS 我可以看到Firefox(Ubuntu 13.10)在字体粗细:300(轻量级)和字体粗细:400(正常)下渲染时有所不同,但在Chrome(版本33.0.1750.117)中没有差异,其中所有内容看起来都像是以字体权重:400呈现的。是我做错了什么还是 Chrome 中存

  • 问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc

  • 属性不能与一起使用。这种情况只在Chrome中发生。

  • 问题内容: 该属性不适用于。这仅在Chrome中发生。 问题答案: 从MDN的文档中 如果值 类型 属性是,,,,,或,此属性指定的最大字符数(在Unicode代码点),用户可以输入; 对于其他控件类型,将忽略它。 因此在设计上被忽略。 根据您的需求,您可以使用和属性作为 INON 在他/她的回答表明(注:这只会定义的约束范围,而不是值的实际字符长度,虽然-9999〜9999将覆盖所有0-4位数字

  • 我很难让Chrome注意到布局中的flex-basis部分。它在布局中运行良好。 下面的代码片段演示了这个问题:黄色、蓝色和粉红色的条是基于flex的50px、25%和75%,显示在列和行flex方向上。 如果您在Firefox(或IE11或Edge)中运行,那么列和行都按预期划分区域: 左和右之间的唯一区别是。 我尝试将添加到中,这使Chrome注意到flex的基础,但却引起了一个不同的问题--