2009-10-06 4 views
1

Je comprends qu'il n'y a pas moyen d'interroger directement les paramètres IE d'un utilisateur pour des raisons de sécurité, mais existe-t-il un moyen de dériver cette réponse ? Je souhaite empêcher un utilisateur d'utiliser mon site si le paramètre "Rechercher les versions les plus récentes des pages enregistrées" est défini sur "Jamais". Aucune suggestion?Détecter le paramètre IE: vérifier les versions les plus récentes des pages enregistrées "jamais"

Y at-il un moyen que je pourrais tester pour cela en utilisant javascript? Un exemple de ce que j'essaye d'accomplir est ceci: Bien qu'il ne soit pas possible de vérifier les paramètres d'IE pour voir si vous utilisez un bloqueur de popup, c'est un moyen de "tester" un bloqueur de popups via javascript. Je cherche quelque chose de similaire, mais pour le paramètre de cache, pas le bloqueur de popup.

+0

Le paramètre en question est complètement ignoré si vos pages spécifient correctement une durée de vie de fraîcheur en utilisant les en-têtes Cache-Control ou Expires. – EricLaw

Répondre

0

Ajoute un élément à la chaîne de requête qui est peu susceptible d'avoir été utilisé auparavant (une chaîne de dates, un nombre aléatoire).

Cela rendra IE 6 demander à nouveau la page, en ce qui concerne IE, son autre page. Donc, si vous avez http://somepage.com/dontcachethis.html, vous remplacez ceci par quelque chose comme http://somepage.com/dontcachethis.html?please=23143425 où vous indiquez please un nombre aléatoire.

+0

Je comprends cela, mais quelqu'un pourrait simplement mettre en signet l'ancienne URL. Je cherche un moyen de tester pour ce paramètre IE. –

0

Ajouter ce qui suit à vos pages web:

meta http-equiv="Pragma" content="no-cache" 
meta http-equiv="Expires" content="0" 

Cela force le navigateur de l'utilisateur de recharger les pages à chaque fois, quels que soient les paramètres du cache du navigateur.

0

Je n'ai pas encore mis en œuvre ce, mais c'est mon plan:

  • Dressez une date sur la page qui est un attribut d'un élément HTML (ce qui devrait être écrit côté serveur ... l'écrire avec javascript va vaincre le but)
  • En utilisant javascript, chargez la date. Si c'est sur une certaine période de temps, je peux supposer qu'ils n'ont pas chargé une nouvelle copie de la page. Si tel est le cas, continuer ...

Si j'ai détecté qu'ils ont une ancienne version d'une page, je pouvais faire une ou deux choses:

  1. Je pourrais les mettre en garde ce problème. Je pourrais leur montrer le réglage dont ils ont besoin pour changer.
  2. Je pourrais les rediriger vers la même page mais ajouter quelque chose sur la chaîne de requête afin qu'elle ressemble à une page différente au navigateur. Si je fais cela, j'ajouterais quelque chose dans mon javascript qui connait cette boucle de redirection potentielle.
Questions connexes