Si vous utilisez le gestionnaire de mots de passe intégré à votre navigateur pour mémoriser toutes vos connexions Web, ou envisagez-le à la lumière des événements récents avec LastPass, vous avez (ou allez) inévitablement rencontré certains sites qui ne vous permettront tout simplement pas de sauvegarder votre mot de passe. Cependant, avec un simple clic ou deux de votre souris, vous pouvez contourner cette limitation et forcer votre navigateur à mémoriser le mot de passe sur ces sites non coopératifs.

Note de l’éditeur: bien sûr, si vous utilisez LastPass, cette fonctionnalité est intégrée directement. Cet article est destiné à ceux qui préfèrent utiliser la sauvegarde du mot de passe du navigateur intégré au lieu de placer leurs mots de passe dans le cloud.

Pourquoi certains sites ne me permettent-ils pas d’enregistrer le mot de passe?

Cette réponse est assez simple, elle est due au fait que l’attribut «autocomplete» du formulaire et / ou des éléments d’entrée est réglé sur «off». Cet attribut a été introduit par Internet Explorer 5 et fait ce que son nom suggère, empêche la fonctionnalité de saisie semi-automatique de s’appliquer à tout champ qui l’a explicitement désactivé.

Comme vous pouvez le voir ici sur le site PayPal (qui ne vous permet pas d’enregistrer votre mot de passe), la section de connexion a la valeur de saisie semi-automatique désactivée pour le champ de mot de passe. Par conséquent, le navigateur ne récupérera pas ce champ pour sa base de données de mots de passe à saisie automatique.

image

Le correctif: une fonction JavaScript simple

Heureusement, la solution est tout aussi simple. Nous avons simplement besoin de changer la valeur de cet attribut, où qu’il soit présent, en « on ». Grâce à la capacité de JavaScript à manipuler le DOM (modèle d’objet de document), vous pouvez facilement le faire en cliquant sur un signet.

La fonction JavaScript est intégrée dans le lien ci-dessous. Vous pouvez soit faire glisser le lien vers votre barre de favoris, soit cliquer dessus avec le bouton droit de la souris et ajouter le lien cible aux favoris. Une fois cela fait, il suffit de cliquer sur le signet pour exécuter le script « Autoriser l’enregistrement du mot de passe » sur la page en cours.

Autoriser l’enregistrement du mot de passe

Si le lien ci-dessus ne fonctionne pas, voici la source du lien. Vous pouvez créer un signet avec les éléments suivants comme URL source:

javascript: (function () {var% 20ac, c, f, fa, fe, fea, x, y, z; ac = "autocomplete"; c = 0; f = document.forms; for (x = 0; x

D'après nos tests (en utilisant PayPal comme site de test), cela a fonctionné comme prévu dans Firefox 4 et dans Internet Explorer 9. Malheureusement, nous n'avons pas pu le faire fonctionner dans Chrome malgré le message de succès que la saisie semi-automatique a été activée.

Les procédures d'utilisation sont presque identiques dans chaque navigateur, Internet Explorer nécessitant une étape supplémentaire.

Utilisation dans Firefox

Lorsque vous visitez un site qui ne vous permet pas d'enregistrer votre mot de passe, exécutez le script «Autoriser l'enregistrement du mot de passe». Vous devriez voir une notification comme celle ci-dessous.

image

Entrez votre nom d'utilisateur et votre mot de passe comme d'habitude et lors de la connexion, vous serez invité à enregistrer votre mot de passe.

image

La prochaine fois que vous visiterez la page, votre nom d'utilisateur sera renseigné automatiquement, mais pas le mot de passe. Pour que le mot de passe soit rempli automatiquement, vous devez d'abord mettre le focus dans le champ du nom d'utilisateur. Vous pouvez utiliser un clic de souris ou Ctrl + Tab si le champ du mot de passe est activé.

image

Maintenant, lorsque vous déplacez le focus du champ du nom d'utilisateur soit avec un clic ou un onglet, votre mot de passe se remplira automatiquement.

image

Utilisation dans Internet Explorer

Lorsque vous visitez un site qui ne vous permet pas d'enregistrer votre mot de passe, exécutez le script «Autoriser l'enregistrement du mot de passe». Vous devriez voir une notification comme celle ci-dessous.

image

Entrez votre nom d'utilisateur et votre mot de passe comme d'habitude et lors de la connexion, vous serez invité à enregistrer votre mot de passe.

image

La prochaine fois que vous visiterez la page, votre nom d'utilisateur sera renseigné automatiquement, mais pas le mot de passe. Vous devrez réexécuter le script «Autoriser l'enregistrement du mot de passe» et vous devriez voir le même avis que ci-dessus.

image

Pour que le mot de passe soit rempli automatiquement, vous devez d'abord mettre le focus dans le champ du nom d'utilisateur. Vous pouvez utiliser un clic de souris ou Ctrl + Tab si le champ du mot de passe est activé.

image

Maintenant, lorsque vous déplacez le focus du champ du nom d'utilisateur soit avec un clic ou un onglet, votre mot de passe se remplira automatiquement.

image

Source JavaScript

Si vous êtes curieux de savoir comment fonctionne le script, voici la source bien formatée et commentée. N'hésitez pas à le modifier comme bon vous semble.

function() {
   var ac, c, f, fa, fe, fea, x, y, z;
   //ac = autocomplete constant (attribute to search for)
   //c = count of the number of times the autocomplete constant was found
   //f = all forms on the current page
   //fa = attibutes in the current form
   //fe = elements in the current form
   //fea = attibutes in the current form element
   //x,y,z = loop variables

   ac = "autocomplete";
   c = 0;
   f = document.forms;

   //cycle through each form
   for(x = 0; x < f.length; x++) {
      fa = f[x].attributes;
      //cycle through each attribute in the form
      for(y = 0; y < fa.length; y++) {
         //check for autocomplete in the form attribute
         if(fa[y].name.toLowerCase() == ac) {
            fa[y].value = "on";
            c++;
         }
      }

      fe = f[x].elements;
      //cycle through each element in the form
      for(y = 0; y < fe.length; y++) {
         fea = fe[y].attributes;
         //cycle through each attribute in the element
         for(z = 0; z < fea.length; z++) {
            //check for autocomplete in the element attribute
            if(fea[z].name.toLowerCase() == ac) {
               fea[z].value = "on";
               c++;
            }
         }
      }
   }

   alert("Enabled '" + ac + "' on " + c + " objects.");
}

Laisser un commentaire