Cookies 如何设置谷歌翻译cookie永不过期?

Cookies 如何设置谷歌翻译cookie永不过期?,cookies,google-translate,Cookies,Google Translate,我在我的页面上使用谷歌翻译代码,效果很好,但如果我看到cookie,它会说它只在会话期间过期!?所以我想将它设置为不会过期,这样当用户第一次选择返回时,它就是同一种语言 我现在用这个 解决了!好的,这样用户就可以选择一种语言,下次访问页面时,它会被翻译成他之前选择的语言 var ckDomain; function googleTranslateElementInit() { function getCookie(name) { var re = new RegExp(na

我在我的页面上使用谷歌翻译代码,效果很好,但如果我看到cookie,它会说它只在会话期间过期!?所以我想将它设置为不会过期,这样当用户第一次选择返回时,它就是同一种语言

我现在用这个

解决了!好的,这样用户就可以选择一种语言,下次访问页面时,它会被翻译成他之前选择的语言

var ckDomain;
function googleTranslateElementInit() {

    function getCookie(name)
  {
    var re = new RegExp(name + "=([^;]+)");
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
  }



 var kakan;
 var googkakan;


 kakan=getCookie("googtrans22");


$$(document).on('change', '#google_translate_element', function (e) {
    setTimeout(function(){
function getCookie(name)
  {
    var re = new RegExp(name + "=([^;]+)");
    var value = re.exec(document.cookie);
    return (value != null) ? unescape(value[1]) : null;
  }

 googkakan=getCookie("googtrans");

 document.cookie = "googtrans22="+googkakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/" + ckDomain;
 document.cookie = "googtrans22="+googkakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/";


    },1000);
}); 

  for (var ckDomain = window.location.hostname.split("."); 2 < ckDomain.length;){
    ckDomain.shift();
  }
  ckDomain = ";domain=" + ckDomain.join(".");
  // domain cookie
  document.cookie = "googtrans="+kakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/" + ckDomain;
  // host-only cookie (with no domain name definition)
  document.cookie = "googtrans="+kakan+"; expires=Thu, 07-Mar-2047 20:22:40 GMT; path=/";



  new google.translate.TranslateElement({
    pageLanguage: 'sv',
    autoDisplay: false,
    layout: google.translate.TranslateElement
  }, 'google_translate_element');

}



    (function() {
          var googleTranslateScript = document.createElement('script');
          googleTranslateScript.type = 'text/javascript';
          googleTranslateScript.async = true;
          googleTranslateScript.src = 'https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit';
          ( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( googleTranslateScript );
        })();
var域;
函数googleTranslateElementInit(){
函数getCookie(名称)
{
var re=new RegExp(name+“=([^;]+)”);
var值=re.exec(document.cookie);
返回值(值!=null)?unescape(值[1]):null;
}
卡坎;
var googkakan;
kakan=getCookie(“googtrans22”);
$$(文档).on('change','google\u translate\u element',函数(e){
setTimeout(函数(){
函数getCookie(名称)
{
var re=new RegExp(name+“=([^;]+)”);
var值=re.exec(document.cookie);
返回值(值!=null)?unescape(值[1]):null;
}
googkakan=getCookie(“googtrans”);
document.cookie=“googtrans22=“+googkakan+”;expires=Thu,07-Mar-2047 20:22:40 GMT;path=/”+ckDomain;
document.cookie=“googtrans22=“+googkakan+”;expires=Thu,07-Mar-2047 20:22:40 GMT;path=/”;
},1000);
}); 
对于(var ckDomain=window.location.hostname.split(“.”);2
显然,库被迫在cookie上写入,以使其在会话结束时过期

好消息是,在这样做之前,它会读取现有的cookie,这样您就可以在每次初始化调用之前提供cookie

要强制图书馆将瑞典语页面翻译为英语:

函数googleTranslateElementInit(){
变异域;
对于(var ckDomain=window.location.hostname.split(“.”);2
非常感谢。是的,这很有效。但是我想从cookie中获取语言,因此当用户选择一种新语言并在cookie中设置时,该语言将在用户下次访问页面时使用。这样用户就可以选择他喜欢的任何语言。我已经阅读了现有的cookie并使用它,我必须检查如何做到这一点:-)好的Kul Tigin,非常感谢你的帮助。现在它工作了!糟糕的是,我有点太快了:-),当然它还不能正常工作,当浏览器关闭时,cookie就会被删除,所以我需要设置过期时间,这样它就永远不会过期。我想在完成所有这些代码后,我必须进行测试。很高兴我能提供帮助。