Comment afficher un message uniquement si les cookies sont désactivés dans le navigateur? J'aime http://stackoverflow.com Afficher si JavaScript est désactivé.Comment afficher un message uniquement si les cookies sont désactivés dans le navigateur?
Répondre
Essayez ceci:
function are_cookies_enabled()
{
var cookieEnabled = (navigator.cookieEnabled) ? true : false;
if (typeof navigator.cookieEnabled == "undefined" && !cookieEnabled)
{
document.cookie="testcookie";
cookieEnabled = (document.cookie.indexOf("testcookie") != -1) ? true : false;
}
return (cookieEnabled);
}
cela fonctionnera-t-il sur tous les navigateurs? –
Il devrait, le deuxième contrôle (tentative de créer un cookie et voir si vous pouvez récupérer la valeur que vous avez tenté de définir) est destiné à chaque navigateur. La première vérification est juste une vérification plus rapide si cette propriété est stockée dans le DOM. (supporté dans les navigateurs modernes) –
navigator.cookieEnabled renvoie toujours vrai pour IE11, y at-il un autre moyen de faire la même chose? J'essaie cela depuis un certain temps mais je n'arrive pas à trouver de solution. – Developer
stackoverflow.com utilise <noscript>
tags pour afficher une page spéciale si JavaScript est désactivé. Il n'y a rien d'équivalent pour les cookies intégrés dans la langue. Votre meilleur pari est probablement de jeter un oeil à this thread sur la façon de détecter si les cookies sont désactivés.
D'abord, vous testez pour voir si les cookies sont activés. Si c'est le cas, vous envoyez un message. Vous pouvez masquer le message en utilisant CSS, puis afficher après le test, mais l'utilisateur le verra s'il n'utilise pas de CSS. Vous pouvez avoir l'élément mais avec rien à l'intérieur, de sorte qu'il ne s'affiche pas, puis l'utilisateur innerHTML pour entrer le message après le test.
les cookies ont déjà été supposant mis (ou la tentative d') utiliser:
var cookieMessage = "You don't have cookies turned on!";
var cookieHTML = document.getElementById("cookiesOff");
function cookieMessage() {
if(document.cookie.length == 0) {
cookieHTML.innerHTML(cookieMessage);
}
}
et d'avoir un élément HTML comme un h3
ou p
avec un id de cookiesOff
.
Il y avait un JavaScript navigator.cookieEnabled
interface, mais les navigateurs d'aujourd'hui ont une beaucoup plus large gamme de contrôles de cookies que juste « activé »/« désactivé », y compris les options de session/persistants, première partie/tiers, paramètres spécifiques au site et P3P. Donc, renifler cette propriété est peu utile maintenant. Non, le seul moyen fiable de savoir si vous pouvez définir un cookie est d'essayer de le définir et de voir s'il est toujours là. Un autre problème est que bien que de nombreux navigateurs rétrogradent un cookie persistant dans un cookie de session lorsque les contrôles de confidentialité de l'utilisateur ne le permettent pas, IE ne le fera pas.
Si vous essayez de définir un cookie persistant dans IE lorsqu'ils sont désactivés, le cookie sera simplement jeté sur le sol. Cela peut vous intercepter si vous utilisez un simple vérificateur de cookies de session, que les cookies sont activés, puis essayez de définir un cookie persistant. Et vous ne pouvez pas essayer de définir comme cookie de session et un cookie persistant, car lorsque vous définissez un cookie persistant dans IE avec des cookies persistants désactivés, il sera même supprimer le cookie de session existant du même nom . Oh IE!
Donc, si vous avez besoin de définir un cookie persistant, mais se contentent d'où la session persistante ne sont pas disponibles, il vous faudrait utiliser ce premier pour savoir ce que vous êtes autorisé à faire:
// Find out what cookies are supported. Returns:
// null - no cookies
// false - only session cookies are allowed
// true - session cookies and persistent cookies are allowed
// (though the persistent cookies might not actually be persistent, if the user has set
// them to expire on browser exit)
//
function getCookieSupport() {
var persist= true;
do {
var c= 'gCStest='+Math.floor(Math.random()*100000000);
document.cookie= persist? c+';expires=Tue, 01-Jan-2030 00:00:00 GMT' : c;
if (document.cookie.indexOf(c)!==-1) {
document.cookie= c+';expires=Sat, 01-Jan-2000 00:00:00 GMT';
return persist;
}
} while (!(persist= !persist));
return null;
}
Pourrait aider quelqu'un: J'ai utilisé cette fonction pour afficher un message de boîte de dialogue jquery # (une seule fois) aux navigateurs qui supportent les cookies persistants. Après avoir vérifié le support, je fais un document.write de la boîte de dialogue div, puis mets un cookie que php cherche pour que la fenêtre de dialogue n'ennuie pas les gens à plusieurs reprises. –
Quelqu'un at-il une source d'amélioration potentielle de navigator.cookieEnabled depuis 2010? – Bombinosh
- 1. Comment identifier si les cookies sont désactivés
- 2. Java - Trouver si les cookies sont désactivés ou non
- 3. les sessions fonctionnent-elles lorsque les cookies sont désactivés?
- 4. Si les cookies sont désactivés, alors comment conserver les données en C# .net
- 5. Traitement de la protection CSRF lorsque les cookies sont désactivés
- 6. Cookies désactivés
- 7. Comment tester si un navigateur accepte les cookies avec JavaScript?
- 8. Comment vérifier si le navigateur supporte les cookies, en javascript?
- 9. Comment tester si les cookies sont activés dans Java/J2EE
- 10. Comment fonctionne la gestion de session .NET? Les sessions mangent toute la mémoire si les cookies sont désactivés
- 11. comment afficher le message d'actualisation dans la fenêtre du navigateur
- 12. L'authentification reposante peut-elle fonctionner avec les cookies désactivés?
- 13. Comment afficher un bord inférieur uniquement si les cellules du tableau ne sont pas vides (CSS)
- 14. Force php à transmettre le SID dans l'URL - même si les cookies sont acceptés dans le navigateur
- 15. sIFR ne fonctionne pas avec les cookies désactivés
- 16. Comment envoyer le jsessionid via POST en utilisant des entrées cachées lorsque les cookies sont désactivés dans JSP?
- 17. Comment activer les cookies pour un pseudo-navigateur dans Delphi?
- 18. Comment afficher les éléments uniquement si SQLDataSource a des lignes
- 19. Comment vérifier si les cookies sont bloqués en utilisant JavaScript
- 20. supprimer les cookies du navigateur
- 21. Comment afficher autre chose si les annonces Google sont bloquées?
- 22. jQuery validation de formulaire, afficher uniquement le dernier message d'erreur
- 23. Afficher les modèles dans un navigateur
- 24. Afficher les événements javascript dans le navigateur
- 25. Comment afficher un message uniquement si un certain laps de temps s'est écoulé jquery - empêche la soumission de formulaire
- 26. Pourquoi les cookies sont-ils uniquement envoyés à http://www.example.com et NON à http://example.com?
- 27. Comment afficher une boîte de dialogue uniquement lorsque les données correctes sont entrées dans un champ?
- 28. cURL: Comment savoir si mes cookies sont correctement configurés?
- 29. Comment afficher un message dans Google Maps?
- 30. Vous voulez afficher un message d'erreur si la session est fermée dans les rails
voir http://stackoverflow.com/questions/531393/how-to-detect-if-cookies-are-disabled-is-it-possible – lexu