Bonjour,

J'utilise depuis peu jcookie (plug in de cookie avec jquery) et je parviens pas à comparer normalement les valeurs des cookies. En bref, j'ai un site qui doit être traduit en trois langues, pour cela, dans le document.ready, je lance un switch qui teste la valeur du cookie :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function testLangue()
{
    switch($.cookie("langue"))
    {
        case "FR" : alert("français : "+$.cookie("langue")+" long : "+$.cookie("langue").length+" gestion resa.js");
                   traductionFr();
                   console.log("traduire en français");
                   break;
        case "NL" : alert("neerl : "+$.cookie("langue")+" long : "+$.cookie("langue").length+" gestion resa.js");
                   traductionNl();
                   console.log("traduire en Neerlandais");
                   break;
        case "EN" : alert("anglais : "+$.cookie("langue")+" long : "+$.cookie("langue").length+" gestion resa.js");
                   traductionEn();
                   console.log("traduire en Anglais");
                   break;
        default  : // alert("default : "+$.cookie("langue")+" long : "+$.cookie("langue").length+" gestion resa.js");
                    $.cookie("langue","FR",{
                    path : "/",                       //Whole website
                    expire : 365,
                    domain : "localhost"
        });
    }
Dans le cas 1 FR traduit en français, et idem pour le Neerlandais et l'anglais. Le cas default,qui permet de tester si le cookie existe, affecte la valeur FR. Dans le cas où l'utilisateur clique sur un bouton de traduction, j'ai mis comme code dans le doc.ready :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
$("#boutonFR").click(function()
{
   $.cookie("langue","FR");
   alert($.cookie("langue"));
   alert(typeof($.cookie("langue")));
   traductionFr();
});
 
$("#boutonNL").click(function()
{
   $.cookie("langue","NL");
   alert($.cookie("langue"));
   alert("debug gestion_resa :"+typeof($.cookie("langue")));
   traductionNl();
});
 
$("#boutonEN").click(function()
{
   $.cookie("langue","EN");
   alert($.cookie("langue"));
   alert(typeof($.cookie("langue")));
   traductionEn();
});
où j'affecte une valeur au cookie.

Le problème que j'ai est la traduction, elle ne se fait pas toujours d'une page à l'autre et la raison est que (et je ne sais pas pourquoi) la valeur du cookie qui est initialement FR, NL ou EN devient "FR" "NL" ou "EN". De fait, il ne voit pas d'égalité entre FR et "FR".

Ma question est là, quelqu'un sait pourquoi et comment le FR devient "FR" car c'est ça qui fausse la comparaison.

Un grand merci,

Axel