Есть ли способ запретить расширению браузера LastPass заполнять HTML-форму с полем ввода с именем «имя пользователя»?
Это скрытое поле, поэтому я не хочу, чтобы какое-либо программное обеспечение использовало это поле в своих целях:
<input type="text" name="username" id="checkusername" maxlength="9" value="1999" class="longinput" style="display:none">
Решение не должно быть похоже на «переименовать поле ввода».
type="hidden"
а не скрывать его с помощью CSS$(':input').attr('data-lpignore', true);
Вот и все. Это приведет к заполнению всех форм lastpass.Ответы:
Добавление
в поле ввода отключил для меня серый ящик LastPass [...].
Источник с LastPass.com
источник
Необходимо выполнить два условия:
autocomplete="off"
атрибутSettings > Advanced > Allow pages to disable autofill
Так что это зависит как от пользователя, так и от разработчика.
источник
Что сработало для меня, так это наличие слова «-search-» в идентификаторе формы, что-то вроде
<form id="affiliate-search-form">
- и lastpass не добавляет свои элементы во входные данные формы. Он работает с чем-то более простым, например,<form id="search">
но не работает с<form id="se1rch">
источник
search
as классов к имени пользователя и паролю отключило кнопку звездочки в поле имени пользователя, но поле пароля осталось как есть.Я знаю, что опаздываю на вечеринку, но я обнаружил это, когда пытался помешать lastpass испортить мои формы. @takeshin прав в том, что автозаполнения недостаточно. Я закончил тем, что сделал хак ниже, чтобы скрыть символ. Не очень красиво, но я избавился от значка.
Если это читают разработчики lastpass, пожалуйста, дайте нам атрибут для использования, чтобы нам не приходилось прибегать к подобным вещам.
источник
background-image
в полях ввода (я люблю ставить «очистить кнопки»на полях ввода) - в этом случае , что также работали для меня были просто установкаbackground-image
иbackground-position
с!important
переопределить LastPass стиля встроенного.Я думаю, что lastpass учитывает
autocomplete="off"
атрибут для входных данных, но я не уверен на 100%.ИЗМЕНИТЬ Как отмечали другие. это работает только в том случае, если пользователь настроил последний проход для соблюдения этого.
источник
autocomplete="off"
на уровне формы. Это просто потратило час времени на разработку формы «редактирования пользователя», которая показывала неправильный адрес электронной почты. В настройках lastpass есть опция «не перезаписывать уже заполненные поля», что очень помогает.Для меня работал либо
type=search
что-то вроде того,text
либо с использованиемrole=note
.Вы можете проверить LastPass-JavaScript, но он огромен, может быть, вы можете найти там обходной путь, из того, что я видел, они проверяют только 4 типа ввода, поэтому
input type=search
было бы одно обходное решение:Также эти
role
ключевые слова они игнорируют:Я проверил LastPass
onloadwff.js
, приготовьтесь к 26.960 строкам кода :)источник
type=search
это единственное, что у меня работает.type=search
- единственный способ предотвратить автозаполнение независимо от состояния параметра LastPass «Respect autocomplete = off».role="note"
илиtype="search"
. Никто не работал с последней версией Chrome и последней версией lastpass.lpignore
снова работает,https://jsfiddle.net/78z0L1sa/3/
Добавить "поиск" для ввода идентификатора
источник
Немного поздно для вечеринки, но я только что добился этого, изменив форму с помощью:
Думаю, эти дураки в последний раз подумали, что это поисковая форма. Однако это не работает для полей пароля! Lastpass игнорирует поле имени в этом случае.
Единственный способ, которым мне удалось это сделать, - это добавить следующее прямо вверху формы:
Он вызывает неприятное мерцание, но устраняет бессмыслицу с автозаполнением - хотя по-прежнему показывает виджет «сгенерировать пароль». LastPass ожидает, пока не станет полностью готовым, а затем проверяет, есть ли какие-либо видимые поля пароля, поэтому невозможно скрыть или уменьшить фиктивные поля выше.
источник
Для последней версии Lastpass с ошибками, выпущенной в октябре 2019 года, это простое исправление кажется лучшим.
Добавить
type="search"
на ваш вклад.
Подпрограмма lastpass проверяет
type
атрибут, чтобы определить, что делать с его автозаполнением, и ничего не делает с этим html5type
"поиска". Конечно, это слегка взломано, но это изменение в одну строку, которое можно легко удалить, когда они исправят свой ошибочный сценарий.Примечание. После этого ваш ввод может выглядеть по-другому в некоторых браузерах, если они улавливают
type
атрибут. Если вы заметили это, вы можете предотвратить это путем установки браузера специфических свойств CSS-webkit-appearance
и-moz-appearance
к'none'
на вашем входе.источник
Этот код стиля ES6 был мне полезен, поскольку он добавил data-lpignore ко всем моим элементам управления вводом:
Чтобы получить доступ к конкретному элементу управления INPUT, можно написать что-то вроде этого:
Или вы можете сделать это по имени класса:
источник
К сожалению, ни один из вариантов (автозаполнение, data-lpignore и т. Д.) Не помешал LastPass автоматически заполнять поля моей формы. Я применил к проблеме более упорный подход и
name
вместо этого установил входные атрибуты асинхронно через JavaScript. Следующая функция, зависящая от jQuery (вызываемая из обработчика события onsubmit формы), сделала свое дело:В форме я просто использовал
tmp-name
атрибуты вместо эквивалентныхname
атрибутов. Пример:Обновление 2019-03-20
Я все еще сталкивался с трудностями с вышеизложенным из-за AngularJS в зависимости от полей формы, имеющих
name
атрибуты, чтобы ngMessages правильно отображал сообщения об ошибках проверки полей.В конце концов, единственное решение, которое я смог найти для предотвращения заполнения полей пароля LastPass в моей форме смены пароля, заключалось в следующем:
input[type=password]
полностью, ИПоскольку в моем случае мне нужно иметь возможность отправлять форму в обычном режиме, я по-прежнему использовал свое оригинальное решение для обновления имен полей «как раз вовремя». Чтобы избежать использования полей ввода пароля, я обнаружил, что это решение работает очень хорошо.
источник
Пробовал переименование -search, но по какой-то причине это не сработало. Для меня сработало следующее:
Испытано и протестировано в последних версиях FF и Chrome.
источник
Вот что сработало для меня, чтобы не дать lastpass заполнить поле бритвы @ Html.EditorFor в Chrome:
Щелкните активный значок LastPass на панели инструментов, затем перейдите в Параметры учетной записи> Настройки расширения.
На этом экране установите флажок «Не перезаписывать поля, которые уже заполнены» (внизу)
Затем нажмите «Дополнительно» слева.
На этом экране установите флажок «Уважение AutoComplete = off: разрешить веб-сайтам отключать автозаполнение».
Мне не нужно было делать ничего особенного в моей форме ASP cshtml, но у меня было значение по умолчанию в форме для поля @ Html.EditorFor.
Я надеюсь, что это поможет и сработает для кого-то. Мне не удалось найти в Интернете справку по этой проблеме, относящуюся к Razor, поэтому я подумал, что добавлю это, так как понял это с помощью приведенной выше ссылки и материалов.
источник