PRATIQUE CLIENTS WEB 
JavaScript : vérifier qu'un navigateur reconnaît les cookies
 
Les cookies sont monnaie courante mais que se passe-t-il quand ils sont désactivés ou non reconnus ? Voici une méthode pour agir en conséquence. (03/11/2004)
  Forum

Réagissez dans les forums de JDN Développeurs

L'usage des cookies pour stocker une information relative à un site est aujourd'hui très répandu. Cependant, certains utilisateurs refusent que leur navigateur accepte les cookies qui lui sont soumis, ou utilisent un navigateur qui ne sait pas se servir des cookies. Pour ces utilisateurs, il faut mettre en place un système différent de reconnaissance. Et donc, savoir détecter si un navigateur est en mesure d'accepter des cookies ou non.

La plupart des navigateurs reconnaissent la méthode booléenne navigator.cookieEnabled. Selon le cas, elle renverra true ou false, ce qui permet ensuite de gérer son code :

accepteCookies = (navigator.cookieEnabled) ? true : false;
if (accepteCookies) {
// code de gestion du cookie
}
else {
// méthode alternative
}

Seulement, certains anciens navigateurs utilisent une version de JavaScript ne connaissant pas cette méthode. Il faut alors utiliser un moyen détourné mais logique : créer un cookie test et tenter de le lire immédiatement après.

accepteCookies = (navigator.cookieEnabled) ? true : false;

if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled) {
  document.cookie = "petitTest";
  accepteCookies = (document.cookie.indexOf("petitTest") != -1) ? true : false;
  }


if (accepteCookies) {
// code de gestion du cookie
}
else {
// méthode alternative
}

 
Xavier Borderie, JDN Développeurs
 
 
Accueil | Haut de page