Buradaki seçeneklerden hiçbiri (otomatik tamamlama, veri-lpignore vb.) LastPass'ın maalesef form alanlarımı otomatik doldurmasını engellemedi. Soruna daha çok balyoz yaklaşımı uyguladım ve name
bunun yerine JavaScript aracılığıyla girdi özniteliklerini asenkron olarak ayarladım . Aşağıdaki jQuery bağımlı işlev (formun onsubmit olay işleyicisinden çağrılan) hile yaptı:
function setInputNames() {
$('#myForm input').each(function(idx, el) {
el = $(el);
if (el.attr('tmp-name')) {
el.attr('name', el.attr('tmp-name'));
}
});
}
$('#myForm').submit(setInputNames);
Formda, tmp-name
eşdeğer name
nitelikler yerine nitelikleri kullandım. Misal:
<form id="myForm" method="post" action="/someUrl">
<input name="username" type="text">
<input tmp-name="password" type="password">
</form>
Güncelleme 2019-03-20
name
NgMessages'ın alan doğrulama hata mesajlarını doğru bir şekilde sunması için özniteliklere sahip form alanlarına bağlı olarak AngularJS nedeniyle yukarıda belirtilenlerle hala zorluklarla karşılaştım .
Sonuç olarak, LastPass'ın Şifre Değiştirme formumdaki şifre alanlarını doldurmasını engellemek için bulabildiğim tek çözüm şuydu:
input[type=password]
Tamamen kullanmaktan kaçının VE
- alan adında 'şifre' olmaması
Benim durumumda formu normal olarak gönderebilmem gerektiğinden, alan adlarını 'tam zamanında' güncellemek için orijinal çözümümü kullanmaya devam ettim. Şifre giriş alanlarını kullanmaktan kaçınmak için bu çözümün çok iyi çalıştığını gördüm .
type="hidden"
CSS ile gizlemek yerine ayarlamak daha iyidir