我想阻止LastPass在我的网站上填写输入字段。我使用AngularJS和HTML5,扩展自动填写下面的输入字段。这个字段是我的页面内的搜索字段;它不是登录页面。
<input id="search-publishers-box" type="text" placeholder="Search Publishers" data-ng-model="publishersSearchQuery.name" class="search-field-text" autocomplete="off"/>
我可以做什么来阻止LastPass执行自动填充?我尝试过更改placeholder
、model
、添加autocomplete="off"
以及更改输入字段的id
。
对我来说都没用。
5条答案
按热度按时间i7uaboj41#
把这个属性放在你不希望LP改变的输入元素中。
q3aa05252#
尝试使用type=“search”代替..这是无效类型...将回退到类型text...
Stop LastPass filling out a form
46qrfjad3#
下面是我对这个问题的看法,以及我通常是如何解决自动填充问题的(是的,它们很难理解,但确实会发生)--我通常会观察字段的变化。因为您使用的是
AngularJS
,所以使用$watch
非常容易,或者如果您使用的是jQuery
,则使用.change
即可然后,每当有一个以上的字符在同一时间的变化,你可以假设它的自动填充,而不是有人键入。
请注意,如果有人决定粘贴到字段中,此操作将中断。
另一种解决方法是仅当存在
keypress
时才允许更改字段。编辑Here's a fiddle
d6kp6zgx4#
对我来说,@nawlbergs之前的回答帮助解决了这个问题。
data-lpignore="true"
不再有帮助了(可能他们已经更新了他们的逻辑,因为这个解决方案也不再出现在他们的FAQ中)。LastPass似乎只能使用
type="text"
和type="password"
输入来填充密码(这是唯一可以在LastPass条目的表单字段中配置的输入类型)。每当您使用其他有效的类型(不像@nawlbergs建议的那样),但不是"text"
时。也就是说,
type="search"
和其他可能有效的type
值都有帮助,只是type="search"
具有类似text
的行为,可以在任何地方自由使用:https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/search7jmck4yq5#
用这个
全球:
特定容器: