2009-12-07 5 views
1

j'ai trouvé une différence bizarre dans le comportement des cookies dans Internet Explorer + Safari/Opera + Firefox tout en naviguant avec le bouton 'retour':Cookies dans IE6 +, Safari vs Opera, Firefox (JQuery)

dans IE et Safari les cookies placés sur une page sont supprimés (retournés) lors du retour à la page précédente via le bouton 'retour', tandis que dans Opera et Firefox les nouveaux cookies persistent.

Ce dernier comportement est ce dont j'ai besoin, mais comment l'implémenter pour IE et Safari, si c'est possible?

Les cookies sont définis par le serveur et lu à l'aide API cookie JQuery (de .cookie de $)

Merci à.

Répondre

0

J'ai rencontré le problème inverse, en FF et Chrome. Les cookies reviennent aux cookies lorsque la page est chargée. Si une utilisation choisit une option qui change un cookie, passe à une autre page, puis clique en arrière, cette modification est perdue. Mais les mêmes scripts fonctionnent bien dans IE et Safari pour moi.

EDIT: Je viens de corriger les problèmes de persistance que je rencontrais avec FF/Chrome en ajoutant ces lignes PHP à ma page:

header("Cache-Control: no-store, must-revalidate"); 
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); 

Il semblait que les navigateurs ont différentes règles par défaut pour la mise en cache et il faudrait spécifier lequel utiliser. En utilisant également une fonction onbeforeunload factice comme ceci:

window.onbeforeunload = function() { 
    // return 'warning'; 
} 

aide à prévenir la page mise en cache sans donner à l'utilisateur final une boîte de dialogue d'alerte.

Je ne sais pas si ça aide, mais j'ai pensé que je donnerais mes deux cents.

Questions connexes