3

クッキーを読むのに助けが必要です。私のウェブサイトはバイリンガルですが、IPに基づいて言語を変更したくないので、「_ lang」と呼ぶCookieを設定して、内容が「en」か「jp」かを確認する必要があります。Cookieとその内容を設定することはできますが、問題はありませんが、Cookieの内容を読み取るための構文を理解することはできません。私が実際に試したのはこれが初めてです。

function createCookie(name,value,days) {
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+"; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for(var i=0;i < ca.length;i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1,c.length);
        if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
    }
    return null;
}


function GetCookie(name) {
  var arg=name+"=";
  var alen=arg.length;
  var clen=document.cookie.length;
  var i=0;
  while (i<clen) {
    var j=i+alen;
    if (document.cookie.substring(i,j)==arg)
      return "here";
    i=document.cookie.indexOf(" ",i)+1;
    if (i==0) break;
  }
  return null;
}

var visit=getCookie("_lang");
var rc=readCookie("_lang");
if (visit==true){
        if (rc == "jp"){
            window.location = "http://jp.mywebsite.com";
        }

        else if (rc == "en"){
            window.location = "http://www.mywebsite.com";
        }
}
else if (visit==null){
    document.title = "Welcome to MyWebsite!"
    document.getElementById('welcomeLB').style.display='block';
    document.getElementById('behindLightBox').style.display='block';
}
4

1 に答える 1

0

プラグインの使用をお勧めします。https://github.com/pavelkukov/localdata

あなたの場合:


var lang_cookie = readCookie('user_lang') ;

if( lang_cookie && lang_cookie !== null && lang_cookie !== 'undefined')
{
     if(lang_cookie === 'en')
     {
          document.location = 'http://en.mysite.com';
     }
     document.location = 'http://jp.mysite.com';
}

document.location = 'http://en.mysite.com';
于 2012-07-06T13:30:31.333 に答える