Puis-je désactiver Google Chrome Autofill UNIQUEMENT pour l'hôte local?


21

Je suis développeur et il est TRÈS ennuyeux que Chrome suggère toutes mes informations d'adresse personnelle dans les formulaires d'un site Web que je développe sur mon ordinateur local. La désactivation de la saisie automatique sur l'hôte local, ou un domaine ou une adresse IP est-elle possible? Je ne vois rien dans les paramètres avancés.


Bien que "en tant que développeur", ne souhaitez-vous pas la même expérience sur votre serveur de test local que sur le site en ligne?
MrWhite

4
Si je veux tester des choses spécifiques au navigateur comme Autofill, je le ferais contre un serveur de test.
Gromer

Réponses:


8

J'ai récemment répondu à une autre question avec la même exigence de personnalisation des fonctionnalités de Chrome (et également inspirée de @Paul ).

REMARQUE: Cette solution vous permet de bloquer une adresse IP spécifique ou une liste d'adresses IP, sans avoir à charger de bibliothèque supplémentaire et aucun script supplémentaire dans votre projet. En fait, vous pouvez avoir bloqué toutes les fonctionnalités Javascript, mais le contrôle "noautofill" suit son fonctionnement, évitant les collisions avec d'autres bibliothèques, ce qui vous permet également d'avoir une réelle reconnaissance des frais de consommation et du temps de rendu, ce qui peut se traduire par des économies de temps de débogage. au jour le jour, sur différents projets web.

Créez une extension Chrome qui utilise «l'hôte de filtrage de correspondance» de l'API Chrome et filtrez votre IP hostou personnalisé namehost. Ensuite, définissez l'attribut autocompletesur off pour toutes les balises "input" et "form".

Nous procédons avec ces étapes:

  • Créez un nouveau dossier nommé ex. noautofill

  • Créez dans notre nouveau dossier, un nouveau fichier nommé manifest.json et ajoutez ce code à l'intérieur:


{
  "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" ]

}
  • Dans notre nouveau dossier, créez un nouveau fichier nommé script.js et ajoutez ce code à l'intérieur:


(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');
        }       
  });
})();
  • Nous allons dans le menu de Chrome »Paramètres» Extensions

  • Maintenant, nous cliquons sur le bouton "Charger les extensions décompressées"

  • Enfin nous marquons notre dossier et cliquons sur le bouton ouvert.

Voici le résultat:

noautofill

Ce système est très simple et vous pouvez personnaliser le fichier script.js avec votre propre code de contrôle. À l'avenir, vous pouvez ajouter d'autres scripts, CSS, pages de configuration, etc. N'oubliez pas que chaque fois que vous apporterez des modifications dans le fichier script.js, vous devrez recharger le plugin avec CtrlR.

Vous pouvez également obtenir un guide plus détaillé sur la façon de créer des extensions Chrome .


Veuillez ne pas exagérer avec le formatage. N'oubliez pas, parfois moins c'est plus. J'ai modifié votre message pour supprimer le gras, l'italique et les citations qui ne sont pas nécessaires.
slhck

1
Pas de problème, juste un conseil pour l'avenir :)
slhck

1
J'aime le plus cette solution, merci! Pas un grand fan d'avoir à gérer plusieurs profils, ce qui fonctionnerait, mais pas la solution que je recherche. Cela permet aux choses d'être plus rationalisées pour moi. Merci tout le monde!
Gromer

1
Bonne solution! Je pense que vous avez peut-être raté un caractère générique le deuxième 10.0.1.100 ?
Paul

wow oui! que les yeux vigilants :)
RTOSkit

9

Les autres réponses concernant l'utilisation d'un deuxième profil ou l'installation d'une deuxième version de Chrome devraient fonctionner correctement. Je prends un angle différent uniquement pour fournir une autre option, pas parce que je pense que c'est une meilleure façon de le faire.


Lorsque vous développez un site Web localement, incluez simplement la bibliothèque jQuery et un script jQuery avec le code suivant:

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

Cela désactive le remplissage automatique pour toutes les entrées de la page Web. Utilisé en conjonction avec un fichier d'inclusion côté serveur (dans la tête), il serait très facile d'ajouter cela pendant le test et de le supprimer pour la production d'un site Web entier.


1
1+ Vous m'avez inspiré, pour ma deuxième solution.
RTOSkit

1
Fonctionne très bien, j'ajouterais que vous pouvez mettre ce code côté serveur si une instruction vérifie un paramètre pour indiquer sur quel enivornment le site Web fonctionne. Dans mon cas pour MVC, le mien ressemble à ceci@if (Web.Core.Common.Settings.Environment == Web.Core.Common.Environments.Local) { @Html.Raw("$(':input').attr('autocomplete','off');"); }
guanome

2

Malheureusement, Google Chrome n'a pas d'option de filtrage par site pour le remplissage automatique.

Une alternative consiste à utiliser l' extension Lastpass Chrome , où vous pouvez décider quel champ à retenir sur une base par site.

L'autre alternative consiste à créer un nouveau profil utilisateur Paramètres Chrome -> Utilisateurs -> Ajouter un nouvel utilisateur ou à installer différentes versions de Chrome (Chrome Stable / Beta / Dev, Chrome Canary ou Chromium ).


2

Une solution (à des fins de test) serait d' ajouter un nouveau profil d'utilisation sans remplissage automatique.

Utilisez ce profil lors des tests pour éviter le remplissage automatique.


Ce n'est pas la meilleure solution - vous voulez toujours utiliser Internet comme d'habitude sur tous les autres sites Web.
user1068446

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.