Tạo và sử dụng cookie trong javascript như thế nào?

Home Forums Hỏi đáp Tạo và sử dụng cookie trong javascript như thế nào?

This topic contains 1 reply, has 2 voices, and was last updated by Ảnh hồ sơ của teddy teddy 3 years, 8 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #6652
    Ảnh hồ sơ của mrbin
    mrbin
    Member

    Tạo và sử dụng cookie trong javascript như thế nào? Pro nào biết chỉ giúp em, em mò cả ngày mà chưa ra

    #7686
    Ảnh hồ sơ của teddy
    teddy
    Member

    Tạo một cookies:

    function setCookie(c_name,value,exdays)
    {
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
    }

    Sau đó, ta tạo ra một chức năng trả về một cookie được chỉ định:

     

    function getCookie(c_name)
    {
    var i,x,y,ARRcookies=document.cookie.split(";");
    for (i=0;i<ARRcookies.length;i++)
    {
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
      x=x.replace(/^\s+|\s+$/g,"");
      if (x==c_name)
        {
        return unescape(y);
        }
      }
    }

     

    Cuối cùng ta tạo ra các chức năng hiển thị một thông điệp chào mừng nếu cookie được thiết lập, và nếu cookie không được thiết lập, nó sẽ hiển thị một hộp nhắc, yêu cầu tên của người sử dụng, và lưu trữ cookie tên người dùng cho 365 ngày, bằng cách gọichức năng setCookie:

    function checkCookie()
    {
    var username=getCookie("username");
      if (username!=null && username!="")
      {
      alert("Welcome again " + username);
      }
    else
      {
      username=prompt("Please enter your name:","");
      if (username!=null && username!="")
        {
        setCookie("username",username,365);
        }
      }
    }

    Sau đây là ví dụ đầy đủ:

    <!DOCTYPE html>
    <html>
    <head>
    <script>
    function getCookie(c_name)
    {
    var i,x,y,ARRcookies=document.cookie.split(";");
    for (i=0;i<ARRcookies.length;i++)
      {
      x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
      y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
      x=x.replace(/^\s+|\s+$/g,"");
      if (x==c_name)
        {
        return unescape(y);
        }
      }
    }
    
    function setCookie(c_name,value,exdays)
    {
    var exdate=new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value=escape(value) + ((exdays==null) ? "" : "; expires="+exdate.toUTCString());
    document.cookie=c_name + "=" + c_value;
    }
    
    function checkCookie()
    {
    var username=getCookie("username");
    if (username!=null && username!="")
      {
      alert("Welcome again " + username);
      }
    else
      {
      username=prompt("Please enter your name:","");
      if (username!=null && username!="")
        {
        setCookie("username",username,365);
        }
      }
    }
    </script>
    </head>
    <body onload="checkCookie()">
    </body>
    </html>

     

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.