无法在iOS设备上设置新的Google翻译Cookie值

时间:2015-01-31 01:12:35

标签: javascript ios cookies

我正在制作原型,并且该网站的很大一部分以不同语言呈现。我发现这个video在我的桌面浏览器和Android设备上运行得非常好。但是当我在我的iOS设备(使用Safari和Chrome)上尝试时,cookie“googtrans”只能设置一次,然后保持该值。以下是设置cookie的代码:

    $(".lang-selections li").click(function(){
    switch(this.id) {
        case ("langEng"):
            $.cookie("googtrans", "/en/en");
            location.reload(false); 
            break;
        case ("langNor"):
            $.cookie("googtrans", "/en/no");
            location.reload(false);
            break;
        case ("langSwe"):
            $.cookie("googtrans", "/en/sv");
            location.reload(false);
            break;
        case ("langDan"):
            $.cookie("googtrans", "/en/da");
            location.reload(false);
            break;   
        default:
            $.cookie("googtrans", "/en/en");
        }
    })

提前感谢您的帮助!

/曼弗雷德

1 个答案:

答案 0 :(得分:2)

在谷歌浏览器中,为googtrans生成两个cookie,所以在创建时你必须使用domain设置这两个。这里我也用jQuery设置cookie也由jQuery设置。

function ChnageLang(value)//This function call when dropdown menu changes
{
    createCookie('googtrans','/auto/'+value,1,'');//generate cookie path www.mydomain.com
    createCookie('googtrans','/auto/'+value,1,'mydomain.com');//generate cookie path .mydomain.com
}
function createCookie(name, value, days, domain){
if (days){
    var date = new Date();
    date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
    var expires = "; expires=" + date.toGMTString();
    } 
    else{var expires = "";}
    document.cookie = name + "=" + value + expires + "; domain=" + domain + "; path=/";
}