Kann ich Google Chrome Autofill NUR für localhost deaktivieren?

21

Ich bin ein Entwickler und es ist SEHR ärgerlich, wenn Chrome alle meine persönlichen Adressinformationen in Formularen einer Website vorschlägt, die ich auf meinem lokalen Computer entwickle. Ist das Deaktivieren der automatischen Ausfüllung auf einem lokalen Host, einer Domain oder einer IP-Adresse möglich? Ich sehe nichts in den erweiterten Einstellungen.

Gromer
quelle
Wollen Sie nicht, obwohl "als Entwickler", auf Ihrem lokalen Testserver die gleiche Erfahrung machen wie auf der Live-Site?
MrWhite
4
Wenn ich browserspezifische Dinge wie Autofill testen möchte, würde ich dies gegen einen Testserver tun.
Gromer

Antworten:

8

Ich habe kürzlich eine andere Frage mit der gleichen Anforderung beantwortet, Funktionen von Chrome anzupassen (und mich auch von @Paul inspirieren zu lassen ).

HINWEIS: Mit dieser Lösung können Sie eine bestimmte IP-Adresse oder IP-Liste blockieren, ohne dass Sie eine zusätzliche Bibliothek und keine zusätzlichen Skripts in Ihr Projekt laden müssen . Oft haben Sie vielleicht alle Javascript-Funktionen blockiert, aber das Steuerelement "noautofill" folgt dem Betrieb, um Kollisionen mit anderen Bibliotheken zu vermeiden. Dadurch können Sie auch die Verbrauchsgebühr und die Rendering-Zeit wirklich erkennen und Zeit sparen heute in verschiedenen Webprojekten.

Erstellen Sie eine Chrome-Erweiterung, die den "Match-Filter-Host" der Chrome-API verwendet, und filtern Sie Ihre benutzerdefinierten IP hostoder namehost. Dann setzen Sie das Attribut autocompleteauf off für alle „Input“ und „Form“ Tags.

Wir gehen mit diesen Schritten vor:

  • Erstellen Sie einen neuen Ordner mit dem Namen ex. noautofill

  • Erstellen Sie in unserem neuen Ordner eine neue Datei mit dem Namen manifest.json und fügen Sie diesen Code hinzu:


{
  "name": "No Autofill",
  "version": "1.0",
  "manifest_version": 2,
  "description": "No Autofill.",  
  "content_scripts": [ {
      "all_frames": true,
      "exclude_globs": [  ],
      "include_globs": [ "*" ],  
      "js": [ "script.js" ],      
      "matches": [   
                   "http://192.168.1.100/",
                   "http://127.0.0.1/",
                   "http://10.0.1.100/",
                   "http://localhost/",
                   "http://wp.local/",
                   "http://192.168.1.100/*",
                   "http://127.0.0.1/*",
                   "http://10.0.1.100/*",
                   "http://localhost/*",
                   "http://wp.local/*"                   
                    ],
      "run_at": "document_start"
   } ],
  "permissions": [ "tabs", "http://*/", "https://*/", "https://*/*", "http://*/*", "contextMenus" ]

}
  • Erstellen Sie in unserem neuen Ordner eine neue Datei mit dem Namen script.js und fügen Sie diesen Code hinzu:


(function(){    
    chrome.extension.sendRequest({
        autofill:'off'
    },function(){       
        var inputnodes = document.getElementsByTagName('input');    
        for(var i=0;i<inputnodes.length;i++){       
            inputnodes[i].setAttribute('autocomplete','off');
        }       
        var formnodes = document.getElementsByTagName("form");    
        for(var i=0;i<formnodes.length;i++){                    
            formnodes[i].setAttribute('autocomplete','off');
        }       
  });
})();
  • Wir gehen zu Chrome Menü »Einstellungen» Erweiterungen

  • Nun klicken wir auf den Button "Entpackte Extensions laden"

  • Zum Schluss markieren wir unseren Ordner und klicken auf den Öffnen-Button.

Das ist das Ergebnis:

noautofill

Dieses System ist sehr einfach und Sie können die Datei script.js mit Ihrem eigenen Steuercode anpassen . In Zukunft können Sie weitere Skripte, CSS, Konfigurationsseiten usw. hinzufügen. Denken Sie daran, dass Sie das Plugin jedes Mal neu laden sollten, wenn Sie Änderungen an der Datei script.js vornehmenCtrlR .

Außerdem erhalten Sie eine detailliertere Anleitung zum Erstellen von Chrome-Erweiterungen .

RTOSkit
quelle
Bitte übertreiben Sie es nicht mit der Formatierung. Denken Sie daran, manchmal ist weniger mehr. Ich habe Ihren Beitrag bearbeitet, um Fett-, Kursiv- und Anführungszeichen zu entfernen, die nicht benötigt werden.
Slhck
1
Kein Problem, nur ein Tipp für die Zukunft :)
Slhck
1
Diese Lösung gefällt mir am besten, danke! Kein großer Fan davon, mehrere Profile verwalten zu müssen, was funktionieren würde, nur nicht die Lösung, nach der ich suche. Dies ermöglicht es mir, die Dinge effizienter zu gestalten. Vielen Dank an alle!
Gromer
1
Schöne lösung! Ich denke, Sie haben vielleicht eine Wildcard am zweiten 10.0.1.100 verpasst ?
Paul
wow ja! diese wachsamen Augen :)
RTOSkit
9

Die anderen Antworten zur Verwendung eines zweiten Profils oder zur Installation einer zweiten Chrome-Version sollten problemlos funktionieren. Ich gehe nur einen anderen Blickwinkel ein, um eine andere Option bereitzustellen, nicht weil ich denke, dass dies eine bessere Möglichkeit ist, dies zu tun.


Fügen Sie beim Entwickeln einer Website vor Ort einfach die jQuery-Bibliothek und ein jQuery-Skript mit folgendem Code ein:

$(document).ready(function() {
    $(":input").attr("autocomplete","off");
});

Dadurch wird das automatische Ausfüllen für alle Eingaben auf der Webseite deaktiviert. In Verbindung mit einer serverseitigen Include-Datei (im Kopf) ist es sehr einfach, diese beim Testen hinzuzufügen und für die Produktion einer gesamten Website zu entfernen.

Paul
quelle
1
1+ Du hast mich für meine zweite Lösung inspiriert.
RTOSkit
1
Funktioniert hervorragend, ich würde hinzufügen, dass Sie diesen Code in eine serverseitige if-Anweisung einfügen können, die eine Einstellung überprüft, um zu ermitteln, auf welcher Umgebung die Website ausgeführt wird. In meinem Fall für MVC sieht meine so aus@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
guanome
2

Leider verfügt Google Chrome nicht über eine Filteroption für einzelne Websites zum automatischen Ausfüllen.

Eine Alternative ist die Verwendung der Erweiterung "Lastpass Chrome" , mit der Sie festlegen können, welches Feld pro Site gespeichert werden soll.

Die andere Alternative besteht darin, ein neues Benutzerprofil zu erstellen. Chrome-Einstellungen -> Benutzer -> Neuen Benutzer hinzufügen oder verschiedene Chrome-Versionen (Chrome Stable / Beta / Dev, Chrome Canary oder Chromium ) installieren .

Hanxue
quelle
2

Eine Lösung (zu Testzwecken) wäre das Hinzufügen eines neuen Nutzungsprofils ohne Autofill.

Verwenden Sie dieses Profil beim Testen, um das automatische Ausfüllen zu vermeiden.

Harrymc
quelle
Es ist nicht die schönste Lösung - Sie möchten das Internet weiterhin wie gewohnt auf allen anderen Websites nutzen.
user1068446
1

Könnte ihren Zweck mit der Autofill- Erweiterung erreichen.

Ich denke, es hat alle Funktionen, die Sie suchen.

AutoFill

RTOSkit
quelle