84 votes

Empêcher Firefox de mémoriser la valeur saisie lors de l'actualisation avec une balise méta.

Lorsque je rafraîchis une page avec Firefox, les valeurs des cases à cocher, des champs de saisie, etc. sont conservées.

Existe-t-il un moyen de faire en sorte que Firefox ne les conserve pas, en utilisant une balise méta sans JavaScript ?

0 votes

Est-ce pour votre propre page web ou pour toute autre page web ?

1 votes

Veuillez passer à un navigateur basé sur Chromium. Firefox le sait depuis 21 ans, et ils ne peuvent ou ne veulent pas se comporter comme Chrome ou Safari : bugzilla.mozilla.org/show_bug.cgi?id=46845#c232

173voto

True Soft Points 4870

Pour un input il y a l'attribut autocomplete que vous pouvez définir :

<input type="text" autocomplete="off" />

Vous pouvez utiliser l'autocomplétion pour un form aussi.

3 votes

Cela fait maintenant partie du HTML5 et est pris en charge par tous les principaux navigateurs. <input> sauf qu'Opera ne fait pas le <form> étiquette.

0 votes

20 votes

@AaronD.Marasco Désactiver la complétion automatique peut également empêcher Firefox de se souvenir des valeurs de saisie entre les rechargements de page, mais c'est une fonctionnalité précieuse en plus de la mémorisation des valeurs de saisie entre les rechargements. La question était de savoir comment empêcher Firefox de se souvenir des valeurs saisies entre les rechargements de page, et non comment désactiver la saisie automatique.

4voto

Maciej Krawczyk Points 4533

Si vous voulez éviter de mémoriser les valeurs des champs après le rechargement, tout en continuant à utiliser la saisie automatique :

Définissez d'abord la désactivation de l'autocomplétion dans le balisage :

<input id="the-input" type="text" autocomplete="off" />

Puis réactivez la complétion automatique par programme :

document.getElementById('the-input').autocomplete = 'on';

cela désactivera la saisie semi-automatique juste au moment où la page se charge et la réactivera pour qu'elle puisse être utilisée (mais la valeur du champ sera vide comme il se doit).

Si cela ne fonctionne pas pour vous, essayez d'envelopper le code js dans une balise setTimeout o requestAnimationFrame .

1voto

// Internet Explorer fix - do this at the end of the page
var oninit_async_reset = setInterval(function() { resetFormIEFix(); }, 500);
function resetFormIEFix() {
    $('#inputid').val('');
    if (typeof oninit_async_reset != 'undefined')
        clearInterval(oninit_async_reset);
}

-5voto

FacilityDerek Points 97

Essayez cette liste de balises Meta.

http://www.i18nguy.com/markup/metatags.html

Pour empêcher la mise en cache des pages, utilisez les balises CACHE-CONTROL, EXPIRES et PRAGMA NO-CACHE.

Utilisez les trois types pour garantir un comportement inter-navigateur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X