Informationen findenEinige im Internet gefundene Methoden:
Implementierungsprozess Verwendete Felder Daten() { zurückkehren { Benutzername: '', Passwort: '', } } Da moderne Browser autocomplete="off" nicht mehr unterstützen, haben wir einfach auf das Einrichten des Kennwortfelds verzichtet und direkt autocomplete="new-password" verwendet. Wir haben getestet, dass es in Chrome (v88.0.4324.104), Edge (v88.0.705.56) und Firefox (v67) funktioniert, aber Firefox (v85) fordert uns weiterhin auf, uns das Kennwort zu merken. <el-input v-model="Benutzername" Typ="Text" Name="Text" Platzhalter="Konto" Autovervollständigung="aus"><i Slot="Präfix" Klasse="el-input_icon el-icon-Benutzer"></i></el-input> <el-input v-model="Passwort" type="Passwort" name="pwd" id="pwd" placeholder="Passwort" autocomplete="neues-Passwort"></el-input> siehe: https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#browser_compatibility Beim Lösen der Eingabeaufforderung der höheren Firefox-Version habe ich die Methoden 3/4/5 ausprobiert, aber die Ergebnisse waren nicht zufriedenstellend. Ich habe jedoch festgestellt, dass, solange der Wert im letzten Kennwortfeld von Firefox ein Sternchen „*“ oder ein kleiner Punkt „●“ ist, keine Aufforderung zum Speichern des Kennworts erfolgt (ich weiß nicht, ob das richtig ist, Sie können es selbst testen). Daher habe ich ein neues Feld pwdCover hinzugefügt, um das Eingabefeld zu verknüpfen, und das Kennwort verwendet, um den Wert tatsächlich zu übergeben. Schablone <el-input v-model="Benutzername" Typ="Text" Name="Text" Platzhalter="Konto" Autovervollständigung="aus"><i Slot="Präfix" Klasse="el-input_icon el-icon-Benutzer"></i></el-input> <el-input v-model="pwdCover" type="Passwort" name="pwd" id="pwd" placeholder="Passwort" autocomplete="neues-Passwort"@input="setPassword"></el-input> Skript Daten() { zurückkehren { Benutzername: '', Passwort: '', pwdCover: '', } }, Verfahren: anmelden() { dies.pwdCover = dies.pwdCover.replace(/\S/g, '●'); // Anmeldeanforderung, bei Fehlschlag pwdCover wiederherstellen dieses.pwdCover = dieses.Passwort; }, setzePassword(Wert) { dieses.Passwort = Wert; } } Ich habe es voller Zuversicht an meine Projektkollegen geschickt, aber es stellte sich als Fehlschlag heraus. Die Umgebung vor Ort war wie folgt:
Nachdem ich dieselbe Version von Google Chrome installiert hatte, stellte ich fest, dass das Problem immer noch nicht auftrat. Mein Betriebssystem ist Windows 10. Ich weiß nicht, was schief gelaufen ist. Am Ende habe ich Methode 6 gewählt. Finale Schablone <el-form-item> <el-input v-model="Benutzername" Typ="Text" Name="Text" Platzhalter="Konto" Autovervollständigung="aus"><i Slot="Präfix" Klasse="el-input_icon el-icon-Benutzer"></i></el-input> </el-form-item> <el-form-item> <el-input v-model="pwdCover" type="text" name="pwd" id="pwd" placeholder="Passwort" autocomplete="off" @input="setPassword"><i slot="prefix" class="el-icon-lock"></i></el-input> </el-form-item> Skript setzePassword(Wert) { let reg = /[0-9a-zA-Z]/g; // Nur Buchstaben und Zahlen sind erlaubtlet nDot = /[^●]/g; // Zeichen, die keine Punkte sindlet index = -1; // Position des neu eingegebenen Zeichenslet lastChar = void 0; // Neu eingegebenes Zeichenlet realArr = this.password.split(''); // Array des echten Passwortslet coverArr = val.split(''); // Textfeld zeigt Array des Passworts anlet coverLen = val.length; // Stringlänge des Textfeldslet realLen = this.password.length; // Länge des echten Passworts// Suche die neu eingegebenen Zeichen und PositionencoverArr.forEach((el, idx) => { wenn(nDot.test(el)) { Index = idx; letztesZeichen = el; } }); //Überprüfen Sie, ob das Eingabezeichen der Spezifikation entspricht. Wenn nicht, entfernen Sie das Zeichen if(lastChar && !reg.test(lastChar)) { coverArr.splice(index, 1); this.pwdCover = coverArr.join(''); zurückkehren; } wenn (realeLen < coverLen) { // Neue Zeichen hinzufügen realArr.splice(index, 0, lastChar); } sonst wenn (coverLen <= realLen && index !== -1) { // Zeichen ersetzen (wählen Sie ein oder mehrere Zeichen zum direkten Ersetzen aus) realArr.splice(index, realLen - (coverLen - 1), letztes Zeichen); } anders { // Zeichen löschen. Da val nur ● ist, gibt es keine Möglichkeit zur Übereinstimmung. Ich weiß nicht, ob die Zeichen am Ende oder in der Mitte gelöscht werden. Nach dem Löschen mehrerer Zeichen ist das Passwort schwer zu handhaben. Wir können es also nach der Cursorposition und der Länge von val beurteilen. let pos = document.getElementById('pwd').selectionEnd; // Cursorposition abrufen realArr.splice(pos, realLen - coverLen); } // Ersetze pwdCover durch this.pwdCover = val.replace(/\S/g, '●'); dieses.Passwort = realArr.join(''); }, Dies ist das Ende dieses Artikels über den Beispielcode für Vue zur Implementierung der Funktion, mit der Browser daran gehindert werden, sich Passwörter zu merken. Weitere relevante Inhalte dazu, wie Vue Browser daran hindert, sich Passwörter zu merken, finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird! Das könnte Sie auch interessieren:
|
<<: Ein kurzer Vortrag über die halbsynchrone MySQL-Replikation
>>: Ein verbessertes Screenshot- und Freigabetool für Linux: ScreenCloud
<br />Die Lösungsschritte sind wie folgt: St...
Inhaltsverzeichnis Was ist NULL Zwei Arten von NU...
Mysql Left Join ist ungültig und wie man es verwe...
Heute werden wir einen einfachen Herzschlageffekt...
InhaltHyperledger Fabric1.4-Umgebungseinrichtung ...
Browserkompatibilität ist nichts anderes als Stil...
Inhaltsverzeichnis 1. Datenbankdesign 2. Frontend...
Inhaltsverzeichnis Vorwort Konfigurieren Sie die ...
In diesem Artikel wird der spezifische JavaScript...
1. Einführung in mysqldump mysqldump ist ein logi...
Allgemeine nmcli-Befehle basierend auf RHEL8/Cent...
In diesem Artikelbeispiel wird der spezifische Co...
Zum Ausführen von Docker sind Root-Rechte erforde...
In diesem Artikelbeispiel wird der spezifische Co...
Dieser Artikel verwendet den Befehl crontab in de...