Comment détecter que JavaScript ou les cookies sont désactivés dans le navigateur de l'utilisateur et le notifier de l'aide ?
Réponses
Trop de publicités?Pour vérifier les cookies, vous pouvez utiliser :
function checkCookie(){
var cookieEnabled = navigator.cookieEnabled;
if (!cookieEnabled){
document.cookie = "testcookie";
cookieEnabled = document.cookie.indexOf("testcookie")!=-1;
}
return cookieEnabled || showCookieFail();
}
function showCookieFail(){
// do something here
}
// within a window load,dom ready or something like that place your:
checkCookie();
Et pour vérifier JavaScript, utilisez une <noscript>
avec une sorte de message à l'intérieur
Zymotik
Points
491
Comme la détection des cookies ne fonctionnait pas dans IE 11, je suggère l'approche Modernizr :
function areCookiesEnabled() {
try {
document.cookie = 'cookietest=1';
var cookiesEnabled = document.cookie.indexOf('cookietest=') !== -1;
document.cookie = 'cookietest=1; expires=Thu, 01-Jan-1970 00:00:01 GMT';
return cookiesEnabled;
} catch (e) {
return false;
}
}
https://github.com/Modernizr/Modernizr/blob/master/feature-detects/cookies.js
Niresh
Points
79
JimmyLandStudios
Points
349
// Example[1]: if ( hasCookies() )
/**
* @hasCookies: Check if cookie's are Enabled
* @param {none} ''
* @return {BOOLEAN} true|false
*/
function hasCookies() {
return (navigator.cookieEnabled);
}
// Example[2]: if ( JLS.TEST.COOKIE() )
// Java Pattern ( How to write usable JS)
/** @namespace JLS classes and functions. */
var JLS = JLS || {};
/**
* TEST utility
* @namespace JLS
* @class TEST
*/
JLS.TEST = {
/**
* @public-method COOKIE
* @COOKIE Check if cookie's are Enabled
* @return {BOOLEAN} true|false
*/
COOKIE: function () {
//Change this (library). Not main.js (Algorithm)
return (navigator.cookieEnabled);
}
};