停止LastPass填写表格

Mar*_*rco 106 html forms lastpass

有没有办法阻止LastPass浏览器扩展插入一个名为"username"的输入字段的基于HTML的表单?

这是一个隐藏的字段,因此我不希望任何软件将此字段用于其目的:

<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
Run Code Online (Sandbox Code Playgroud)

解决方案不应该像"重命名输入字段".

小智 128

添加

data-lpignore="true"
Run Code Online (Sandbox Code Playgroud)

到输入字段为我禁用灰色LastPass [...]框.

来自LastPass.com

  • 这只会删除灰色图标,但不会停止LastPass忽略输入自动填充 (27认同)
  • 这不应该是接受的答案,因为这不是"停止LastPass填写表格" (21认同)
  • 在 2020 年尝试过此操作,它确实阻止 LastPass 自动填充具有此数据属性的输入字段。 (10认同)
  • 重申其他最近的评论...自从 2017 年和 2018 年发表的评论说它不会停止自动填充以来,LastPass 似乎已经改进/修复了这个问题。它**肯定**会立即停止自动填充(2020 年 12 月)。 (5认同)
  • 这应该是有效的答案.LP似乎尊重这个属性,不需要任何疯狂的"搜索"名称或ID或角色. (4认同)
  • 根据答案(https://lastpass.com/support.php?cmd=showfaq&amp;id=10512)中提供的链接,LP仅阻止图标显示在该字段上 (3认同)
  • 根据 LastPass 文档,这应该可行。https://support.logmeininc.com/lastpass/help/manage-your-form-fills-lp040002。引用:“为了防止 LastPass 自动填充您可以控制的特定网站或应用程序上的某些字段,您可以编辑项目以在您不希望的表单字段中添加 'data-lpignore'=true 属性自动填充。” (3认同)
  • 随着 22 年 11 月发布的“v4.104.0”(https://lastpass.com/upgrade.php),这似乎不再有效。 (2认同)

tak*_*hin 41

必须满足两个条件:

  1. 形式(未在元件)需要具有autocomplete="off"属性
  2. Lastpass用户需要启用此选项: Settings > Advanced > Allow pages to disable autofill

所以这取决于用户和开发人员.

  • 在较新版本中,可以在“帐户选项”&gt;“扩展首选项”&gt;“高级”&gt;“尊重自动完成=关闭:允许网站禁用自动填充”中找到该设置 (2认同)

小智 36

对我有用的是在表单的id中加上单词"-search-",类似于<form id="affiliate-search-form">- 而lastpass不会将其元素添加到表单输入中.它适用于更简单<form id="search">但不起作用的东西<form id="se1rch">

  • 这不再适用于当前的Lastpass版本.所以应该删除这个答案. (7认同)
  • 此外,它被抑制,如果: - 如果字段名*或*类*属性包含单词"搜索"或"检索" - 如果表格*身份证*或*名称*atttribute包含"搜索" - 形式*角色*属性是"搜索" (6认同)
  • 添加-search-到单个输入字段的ID适用于Chrome 51,LastPass 4.1.17.将其添加到表单没有帮助. (4认同)
  • 是的,我可以确认在使用这种方法时仍然填写密码字段。:-( (2认同)

jan*_*jan 17

我知道我在这里参加派对已经很晚了,但是当我试图阻止最后一次破坏我的表格时,我发现了这一点.@takeshin是正确的,因为自动完成是不够的.我最终只是为了隐藏符号而在下面进行黑客攻击.不漂亮,但我摆脱了图标.

如果任何lastpass开发人员正在阅读这个,请给我们一个使用的属性,所以我们不必诉诸这样的东西.

form[autocomplete="off"] input[type="text"] {
    background-position: 150% 50% !important;
}
Run Code Online (Sandbox Code Playgroud)

  • 这是唯一对我有用的解决方案(即使使用lastpass设置,我实际上并不希望我的用户做任何事情),尽管它确实与我在输入字段上设置我自己的`background-image`冲突(I喜欢在输入字段上放置"清除按钮" - 在这种情况下,对我来说有用的只是设置``background-image`和`background-position`和`!important`来覆盖lastpass内置样式. (2认同)

mit*_*w16 16

认为 lastpass尊重autocomplete="off"输入的属性,但我不是100%肯定.

编辑 正如其他人所指出的那样.这仅适用于用户最后一次配置以符合此要求的情况.

  • 是的,但不是默认情况下:https://helpdesk.lastpass.com/extension-preferences/advanced/ (19认同)
  • 我可以确认lastpass不尊重表单级别的`autocomplete ="off".这只是浪费了我一个小时的开发时间在"编辑用户"表单上,似乎显示错误的电子邮件地址.lastpass首选项具有"不覆盖已填充的字段"选项,这有很大帮助. (12认同)
  • 正如Marco所说,您需要激活此行为.首选项 - >高级 - >尊重自动完成=关:允许网站禁用自动填充 (7认同)

Mus*_*eas 13

对我来说,无论type=search是有点相同text还是使用role=note.

您可以查看LastPass-JavaScript,但它很大,可能您可以在那里找到一些解决方法,从我看到它们只检查4种输入类型,因此input type=search将是一种解决方法:

!c.form && ("text" == c.type || "password" == c.type || "url" == c.type || "email" == c.type) && lpIsVisible(c))
Run Code Online (Sandbox Code Playgroud)

这些是role他们似乎忽略的关键词:

var c = b.getAttribute("role");
switch (c) {
case "navigation":
case "banner":
case "contentinfo":
case "note":
case "search":
case "seealso":
case "columnheader":
case "presentation":
case "toolbar":
case "directory":`
Run Code Online (Sandbox Code Playgroud)

我检查了LastPass' onloadwff.js,准备26.960行代码:)

  • 我尝试了上面的所有答案,`type = search`只对我有用. (5认同)

小智 9

将"搜索"添加到输入ID

<input type="text" name="user" id="user-search"/>
Run Code Online (Sandbox Code Playgroud)


cca*_*ert 6

这个 ES6 风格的代码对我很有帮助,因为它向我所有的输入控件添加了data-lpignore

const elements = document.getElementsByTagName("INPUT");
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}
Run Code Online (Sandbox Code Playgroud)

要访问特定的 INPUT 控件,可以编写如下内容:

document.getElementById('userInput').setAttribute("data-lpignore", "true");
Run Code Online (Sandbox Code Playgroud)

或者,您可以按类名进行操作:

const elements = document.getElementsByClassName('no-last-pass');
for (let element of elements) {
    element.setAttribute("data-lpignore", "true");
}
Run Code Online (Sandbox Code Playgroud)


Ton*_*nas 6

对于 2019 年 10 月最新版的 Lastpass,这个简单的修复似乎是最好的。

添加

type="search"

到您的输入。

lastpass 例程检查type属性以确定如何处理它的自动填充,并且它对这个type“搜索”的html5 不做任何事情。这个修复有点麻烦,但这是一个单行更改,可以在他们修复有缺陷的脚本时轻松删除。

注意:执行此操作后,如果某些浏览器选择该type属性,则您的输入可能会显示为不同的样式。如果您观察到这一点,您可以通过在您的输入中设置特定于浏览器的 CSS 属性-webkit-appearance-moz-appearanceto来防止它发生'none'

  • 这实际上是公认的答案。我不知道为什么你会认为其他人没有尝试过。一探究竟。但对于很多很多字段来说,它并不能阻止 LastPass 填写输入。 (2认同)

Pet*_*AUK 5

参加聚会有点晚,但是我刚刚通过修改表单来实现了:

<form autocomplete="off" name="lastpass-disable-search">
Run Code Online (Sandbox Code Playgroud)

我猜这是傻瓜的最后通行,认为这是一种搜索表单。但是,这不适用于密码字段!在这种情况下,Lastpass会忽略名称字段。

我设法做到这一点的唯一方法是直接在表单顶部添加以下内容:

<form autocomplete="off">
    <div id="lp" ><input type="text" /><input type="password" /></div><script type="text/javascript">setTimeout(function(){document.getElementById('lp').style.display = 'none'},75);</script>
</form>
Run Code Online (Sandbox Code Playgroud)

它会引起讨厌的闪烁,但会删除自动填充废话-尽管它仍然显示“生成密码”小部件。LastPass等到domready,然后检查是否有可见的密码字段,因此无法隐藏或缩小上面的模拟字段。