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 [...]框.
tak*_*hin 41
必须满足两个条件:
autocomplete="off"
属性Settings > Advanced > Allow pages to disable autofill
所以这取决于用户和开发人员.
小智 36
对我有用的是在表单的id中加上单词"-search-",类似于<form id="affiliate-search-form">
- 而lastpass不会将其元素添加到表单输入中.它适用于更简单<form id="search">
但不起作用的东西<form id="se1rch">
jan*_*jan 17
我知道我在这里参加派对已经很晚了,但是当我试图阻止最后一次破坏我的表格时,我发现了这一点.@takeshin是正确的,因为自动完成是不够的.我最终只是为了隐藏符号而在下面进行黑客攻击.不漂亮,但我摆脱了图标.
如果任何lastpass开发人员正在阅读这个,请给我们一个使用的属性,所以我们不必诉诸这样的东西.
form[autocomplete="off"] input[type="text"] {
background-position: 150% 50% !important;
}
Run Code Online (Sandbox Code Playgroud)
mit*_*w16 16
我认为 lastpass尊重autocomplete="off"
输入的属性,但我不是100%肯定.
编辑 正如其他人所指出的那样.这仅适用于用户最后一次配置以符合此要求的情况.
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行代码:)
小智 9
将"搜索"添加到输入ID
<input type="text" name="user" id="user-search"/>
Run Code Online (Sandbox Code Playgroud)
这个 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)
对于 2019 年 10 月最新版的 Lastpass,这个简单的修复似乎是最好的。
添加
type="search"
到您的输入。
lastpass 例程检查type
属性以确定如何处理它的自动填充,并且它对这个type
“搜索”的html5 不做任何事情。这个修复有点麻烦,但这是一个单行更改,可以在他们修复有缺陷的脚本时轻松删除。
注意:执行此操作后,如果某些浏览器选择该type
属性,则您的输入可能会显示为不同的样式。如果您观察到这一点,您可以通过在您的输入中设置特定于浏览器的 CSS 属性-webkit-appearance
和-moz-appearance
to来防止它发生'none'
。
参加聚会有点晚,但是我刚刚通过修改表单来实现了:
<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,然后检查是否有可见的密码字段,因此无法隐藏或缩小上面的模拟字段。
归档时间: |
|
查看次数: |
32549 次 |
最近记录: |