Existe-t-il un moyen de désactiver la saisie semi-automatique sur un champ de texte dans chrome 66? J'ai essayé un certain nombre d'options comme:
Est-ce que quelqu'un peut m'aider avec ça?
En outre, une autre chose fait chrome active automatiquement la saisie semi-automatique pour un nom d'utilisateur s'il a un champ de type de mot de passe en dessous?
J'ai obtenu la fonctionnalité de complétion automatique à désactiver dans chrome en donnant
<form autocomplete="off">
et
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
element.autocomplete = isChrome ? 'disabled' : 'off';
où isGoogleChrome est une fonction pour savoir si le navigateur est chrome écrit à l'aide de ce post.
JavaScript: comment savoir si le navigateur de l'utilisateur est Chrome?
De nombreux navigateurs refusent d'adhérer à ce que vous avez mentionné - la meilleure façon est de faire un élément readonly
puis, au survol/clic/flou/focus, de supprimer readonly
.
Vous pouvez donc lui donner une classe telle que disable_autocomplete et également rendre le champ de saisie en lecture seule.
Ensuite, lorsque le champ est survolé, focalisé ou cliqué, vous pouvez le supprimer en lecture seule. Si vous le souhaitez, ajoutez-le à nouveau.
J'ai utilisé ce code et cela fonctionne pour moi. J'espère que cela vous sera également utile. :) Entrez votre type avec readonly puis le code de mention ci-dessous.
<input readonly type="email" onfocus="if (this.hasAttribute('readonly')) {
this.removeAttribute('readonly');
this.blur(); this.focus(); }" />
$(document).ready(function(){
$("input").val("");
});
Donc, Chrome définit simplement la valeur de l'élément lors de leur remplissage automatique. Essayez simplement cela, sinon vous pouvez essayer de définir un certain intervalle, qui vérifiera la valeur dans le code HTML, car Chrome ne pas mettre de nouvelle valeur au code HTML, le met juste en mémoire pour lui-même.
J'ai trouvé quelque chose :
<input autocomplete="off" onfocus="this.setAttribute('autocomplete', 'I don\' t want this Google');" />
Bonjour à tous
function annihilateChromesAutocomplete(){
var clearAutocompleteInterval = setInterval(function(){
var peskyAutocompletedInputs = document.querySelectorAll("input:-internal-autofill-selected");
for(var i = (peskyAutocompletedInputs.length - 1); i > -1; i--){
peskyAutocompletedInputs[i].value = peskyAutocompletedInputs[i].defaultValue;
}
}, 1);
setTimeout(function(){
clearInterval(clearAutocompleteInterval);
}, 2000);
}
Utilisez ceci
$(document).ready(function(){ $("input").attr("autocomplete", "off"); });
Et si le remplissage automatique est activé dans chrome vous pouvez suivre ces étapes pour le désactiver:
Désactiver la saisie automatique dans Chrome