Đọc cookies

  • Home
  • Forum
  • Tự Học HTML
  • Tự Học Javascript
  • Tự Học PHP

MỞ ĐẦU

  • Mở đầu về Javascript
  • Cú pháp JS
  • Các kiểu giá trị JS - P1
  • Các kiểu giá trị JS - P2
  • JS Phép toán - câu lệnh gán
  • JS Cách đặt tên biến
  • Function - hàm JS
  • JS Thủ tục vào ra đơn giản
  • javascript Event
  • các hàm JS sẽ dùng trong các ví dụ
  • Một số hàm JS khác
  • JS Comment - chú thích

CẤU TRÚC RẼ NHÁNH

  • Js câu lệnh IF
  • JS - ELSE...IF

CẤU TRÚC LẶP

  • Các vòng lặp js
  • break - dùng vòng lặp js

MẢNG

  • Mảng trong Javascript
  • Tại sao cần dùng mảng
  • Làm việc với mảng
  • JS Mảng 2 chiều
  • Mảng dựng sẵn

JS FUNCTION - HÀM

  • Tự soạn thảo các hàm
  • Hàm và các tham số
  • Biến toàn cục và biến cục bộ
  • Javascript function return - Giá trị trả về

FORM

  • Nói về các dấu chấm
  • JS làm việc với FORM
  • Nhận + thiết lập thông tin
  • Kiểm tra Text,password,textarea
  • Kiểm tra Select Element
  • Kiểm tra các nút Radio
  • Xử lý chuỗi

WINDOW

  • Mở cửa sổ mới
  • Đóng cửa sổ
  • Di chuyễn cửa sổ
  • Địa chỉ cửa sổ

FRAMES

  • Javascript và Frame
  • Ví dụ về frame và js

HẸN GIỜ

  • setTimeout - Định giờ cho sự kiện
  • clearTimeout - Ngưng hẹn giờ
  • Tạo một đồng hồ bấm giờ

LINH TINH KHÁC

  • Date, Time
  • JavaScript getElementById
  • JavaScript innerHTML
  • JavaScript Void 0
  • Vấn đề với trình duyệt

COOKIES

  • Cookies là gì?
  • Thiết lập Cookie
  • Đọc cookies

Đọc cookies

xxĐọc cookies
Tháng Bảy 25, 2009, 09:36:50 AM gửi bởi nvcnvn
Mã nguồn: [Chọn]
function getCookie(c_name)
{
if (document.cookie.length>0)
  {
  c_start=document.cookie.indexOf(c_name + "=");
  if (c_start!=-1)
    {
    c_start=c_start + c_name.length+1;
    c_end=document.cookie.indexOf(";",c_start);
    if (c_end==-1) c_end=document.cookie.length;
    return unescape(document.cookie.substring(c_start,c_end));
    }
  }
return "";
}

Ở đây mình có một hàm, hàm này sẽ đọc cookies theo tên, hàm này nhận vào một tham số c_name chính là tên cookies ta tìm, ta bắt đầu xem xét từng dòng:
if (document.cookie.length>0) dòng này xác định xem trong đối tượng cookies có lưu thông tin gì không, nếu trong đối tượng cookies có lưu thông tin, ta mới bắt đầu lục cookies của mình ra.

c_start=document.cookie.indexOf(c_name + "=");
Chắc hẳn các bạn còn nhớ bài nói về việc kiểm tra phần tử select của form. Việc này cũng tương tự như thế, tìm trong chuỗi cookies xem có tên cookies của ta hay không. dòng if (c_start!=-1) sẽ xem xét điều kiện trên.
   
c_start=c_start + c_name.length+1;
c_end=document.cookie.indexOf(";",c_start);
if (c_end==-1) c_end=document.cookie.length;

Ba dòng này xác định vị trí đầu tiên và cuối cùng của cookies, chắc các bạn đã hiểu cách nó tìm chứ!? ;)
return unescape(document.cookie.substring(c_start,c_end));
Dòng này trả giá trị của hàm trở về cookies được unescape (thực hiện hành động ngược lại với hàm escape ở bài trước)

ta có thể in ra và sử dụng cookies với đoạn javascript sau:
Mã nguồn: [Chọn]
<script type="text/javascript">
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>
Sau khi đoạn code này chạy, nó sẽ khởi động hàm check cookies, nếu giá trị của cookies trả về khác rỗng thì in ra, ngược lại thì chạy hàm setCookie để thiết lập cookies. Hàm này mình viết hơi khác với ví dụ trong bài trước để thuận tiện hơn.
Mã nguồn: [Chọn]
function setCookie(c_name,value,expiredays)
{
var exdate=new Date();
exdate.setDate(exdate.getDate()+expiredays);
document.cookie=c_name+ "=" +escape(value)+
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
}
Tin hẳn các bạn đã đủ mọi điều để hiễu hàm trên, chỉ có lưu ý một chút:
((expiredays==null) ? "" : ";expires="+exdate.toGMTString());
Dòng này là dạng viết tĩnh lược của câu lệnh if gồm có vế bên trong cặp dấu ngoặc( phía trước dấu ?) là điều kiện. Phía sau dấu ? là hai dòng le65ng cho trường hợp đúng và sai, phân cách bởi dấu ( : ).
Mình nhắm vào sự trong sáng của mã, và nói thật, viết mã như trên đối với mình không dễ dàng gì, mình luôn thích dùng câu lệnh if cơ bản, và dùng các dấu ngoặc móc giới hạn các dòng lệnh, viết thế tuy rườm rà, không "chuyên nghiệp" theo một số người, nhưng lại rất dễ nhìn dễ hiểu, đúng theo nghĩa cơ bản  :X

Sở dĩ mình dùng nó trong ví dụ này là vì mình muốn giới thiệu thêm cho các bạn, chứ như lúc mình tự học, nhìn thấy mấy dòng này trong code người ta viết thì cũng phải nhăn mặt tư duy dữ lắm!

http://hocvui.net/javascript/cookies.htm

Đây là trang ví dụ bao gồm tất cả những gì ta đã đề cùng làm việc ở đây, mời các bạn cùng xem qua nhé!
Viết một nhật xét mới

Danh Sách Các Bài Trả Lời:

Trang: [1]

xx nhan xet
Trả lời bài này 1: Tháng Ba 12, 2010, 07:15:59 PM gửi bởi Quy
Bai viet cua ban thuc su rat bo ich cho nhung nguoi moi hoc va ca nhung nguoi da dung lau nam. RAt cam on ban ve bai viet :X

xx Re: Đọc cookies
Trả lời bài này 2: Tháng Một 13, 2011, 03:55:56 PM gửi bởi Pine
Bạn lấy ra từ nguồn W3schools mà lại ko ghi rõ bản quyền, thế mà lại.... -/ hic hic.

xx Re: Đọc cookies
Trả lời bài này 3: Tháng Một 13, 2011, 04:07:43 PM gửi bởi nvcnvn
w3schools có tiếng việt không nhỉ!?!?!?

xx Re: Đọc cookies
Trả lời bài này 4: Tháng Ba 13, 2011, 11:21:51 PM gửi bởi thanhhai
w3School lam ji co tieng viet pa,lam nhu gioi lam,ngon thi creat 1 website roi dich ra tieng viet roi post len,dang hoc hay lam mat hung...thank admin,rat bo ich.admin co the giup em lam sao add code script vo jsp ko ? em cam on

xx Re: Đọc cookies
Trả lời bài này 5: Tháng Ba 31, 2011, 02:29:35 PM gửi bởi Hiep
Câu lệnh điều kiện If(c_start!=-1) ở đây ý nghia cụ thể là ntn vậy bạn. Mình mới tìm hiều về JS nên còn khá nhiều chỗ không hiểu lắm.Thanks bạn!

xx Re: Đọc cookies
Trả lời bài này 6: Tháng Ba 31, 2011, 06:59:09 PM gửi bởi handsome
Trích dẫn của: Hiep vào Tháng Ba 31, 2011, 02:29:35 PM
Câu lệnh điều kiện If(c_start!=-1) ở đây ý nghia cụ thể là ntn vậy bạn. Mình mới tìm hiều về JS nên còn khá nhiều chỗ không hiểu lắm.Thanks bạn!

c_start = document.cookie.indexOf(c_name + "=");

* document.cookie.indexOf(c_name + "=");
Dòng này có nghĩa là, tìm trong cookies coi có cái chuỗi bao gồm c_name và cái dấu = hay không! nếu không có giá trị trả về sẽ bằng -1

If(c_start!=-1) có nghĩa là nếu c_start khác -1 thì.....

xx Re: Đọc cookies
Trả lời bài này 7: Tháng Tám 15, 2011, 09:56:00 AM gửi bởi Viet
Bạn nên sửa lại màu nền và cho cỡ chữ to ra chút sẽ dễ đọc hơn
Trang: [1]
 
Information Technology News|| Download driver and more|| SMF cho người Việt
|| game avatar || nông trại vui vẻ
Thích hợp với các trình dyệt:
Firefox - Opera - Google Chrome