Как запретить LastPass (расширение Chrome) автоматически заполнять поле ввода

Я хочу запретить 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 поля ввода.

Ни один не работал вообще для меня.


person Liad Livnat    schedule 14.04.2014    source источник
comment
Просто из любопытства... Почему?   -  person Joonas    schedule 14.04.2014
comment
потому что это поле является полем поиска на моей странице, это не страница входа, это страница фильтра, которая без причины заполняет имя пользователя, вошедшего в систему, и фильтрует таблицу страниц.   -  person Liad Livnat    schedule 15.04.2014
comment
Я мог бы просто скрыть любые другие входы со страницы с логином. ||| Меньше минуты гугления дало мне это helpdesk.lastpass.com/extension-preferences/advanced Судя по всему, автозаполнение должно работать, но его нужно включить в настройках последнего прохода со стороны пользователя.   -  person Joonas    schedule 15.04.2014
comment
Возможный дубликат остановить LastPass при заполнении формы   -  person Simon East    schedule 02.03.2016
comment
Если бы я попросил LastPass автоматически заполнить сайт, то это то, что я хочу. Зачем тебе это? Это ужасный пользовательский опыт.   -  person Adrian Brand    schedule 08.10.2019


Ответы (4)


Вот мой взгляд на это и то, что я обычно делаю, чтобы решить проблемы с автозаполнением (да, они неясны, но они случаются) — я обычно наблюдаю за изменениями в полях. Поскольку вы используете AngularJS, это довольно легко сделать с $watch, или, если вы используете jQuery, просто используйте .change

И затем, всякий раз, когда происходит изменение более одного символа за раз, вы можете предположить, что это автозаполнение, а не чей-то ввод.

Обратите внимание, что это прерывается, если кто-то решит вставить в поле.

Другой обходной путь — разрешить изменение поля только при наличии keypress.

ИЗМЕНИТЬ Вот скрипка

person Ashesh    schedule 14.04.2014
comment
как я могу узнать, если это более 1 изменения за раз? можешь вставить пример кода? - person Liad Livnat; 15.04.2014
comment
@LiadLivnat Я добавил ссылку на скрипку, показывающую идею. - person Ashesh; 15.04.2014
comment
Моя проблема заключалась в том, что lastpass изменил поле на тот же -1 char, поэтому не идеальное решение - person Ben Taliadoros; 18.08.2016
comment
учитывая второй обходной путь, однако, похоже, он работает хорошо - person Ben Taliadoros; 10.07.2017

Поместите этот атрибут в свой элемент ввода, который вы не хотите изменять в LP.

data-lpignore="true"
person Keegan Teetaert    schedule 23.08.2017
comment
Это правильный ответ согласно документации LastPass: lastpass.com/support.php?cmd= showfaq&id=10512 - person qJake; 06.11.2017
comment
Это удаляет значок, но, боюсь, не мешает автозаполнению. - person Caedmon; 19.07.2018

Попробуйте вместо этого использовать type="search"... это недопустимый тип... который будет использоваться для ввода текста...

Остановить LastPass при заполнении формы

person nawlbergs    schedule 03.05.2017
comment
На самом деле это ОЧЕНЬ хорошее предложение. Гораздо проще, чем взломы клавиш. - person Kai; 08.02.2019
comment
Это то, что сработало для меня здесь в октябре 2019 года, когда lastpass выпустил еще один выпуск с ошибками. И, кстати, search не является недопустимым типом для input в html5. Это просто тип, с которым на данный момент Lastpass ничего не делает. - person Tony Brasunas; 08.10.2019

Для меня предыдущий ответ от @nawlbergs помог решить проблему. data-lpignore="true" больше не помогает (вероятно, они обновили свою логику, так как это решение больше не присутствует в их часто задаваемых вопросах).

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/search

person Anton Kazakov    schedule 28.05.2019