[back] [index]

Cookie - chiếc bánh quy vô h́nh

Có thể bạn đă từng đọc được ở đâu đó về cookie nhưng chưa nh́n thấy nó hoạt động như thế nào, chưa tưởng tượng được h́nh dáng của nó. Nếu bạn sử dụng Windows XP, hăy mở Windows Explorer ra, vào C:\Documents and Settings\Ten Ban\Cookies\ sẽ thấy vô số cookie được các trang web gài vào từ bao giờ. Bạn cũng có thể xóa toàn bộ những cookie này mà không làm ảnh hưởng ǵ đến máy. Cookie (bánh quy) thường là một file text rất nhỏ (max. 4KB) được sử dụng để các trang web "nhớ" tới bạn khi bạn quay lại, đơn giản hóa các khâu điền form, nhớ những settings của bạn trên trang web... Cookie thường có dạng như sau:

Option: | tat | ~~local~~/D:\Website\Tri Dung\ihtml\ | 1088368571366429526991300723643229525583*

Tôi thêm dấu | vào để bạn dễ nh́n. Trong ḍng trên, bạn thấy một cookie có 5 khúc. Hai khúc đầu mang tên bạn, hoặc trong ví dụ trên là Option của nhạc nền, hai khúc giữa là Path của trang web (trong ví dụ này trang web nằm local trên máy của tôi) và khúc sau là thời điểm hết hạn của cookie. Đoạn code dưới cho phép bạn tạo (set_cookie)và đọc (get_cookie) một cookie:


<script language="JavaScript">
//Script by www.tridung.de
var browser = navigator.appName;
LIVEDAYS=7;
function set_cookie(name, value) // Tao cookie
{
document.cookie= name + "=" + escape(value)+ "; EXPIRES=" + cookie_live();
}
function cookie_live() // Tinh thoi diem het han
{
var date=new Date();
date.setDate(date.getDate()+LIVEDAYS);
var gmt=date.toGMTString();
var k1=gmt.indexOf(" ");
var k2=gmt.indexOf(" ", k1+1);
var k3=gmt.indexOf(" ", k2+1);
var str=gmt.substring(0,k2)+"-"+gmt.substring(k2+1,k3)+"-"+gmt.substring(k3+3,gmt.length);
return str;
}
function get_cookie(name) //doc Cookie
{
var value;
if(document.cookie != "") {
var kk=document.cookie.indexOf(name+"=");
if(kk >= 0) {
kk=kk+name.length+1;
var ll=document.cookie.indexOf(";", kk);
if(ll < 0)ll=document.cookie.length;
value=document.cookie.substring(kk, ll);
value=unescape(value);
}
}
return value;
}
</script>


 Cookie at work - background music [see more]
Cách tạo nhạc nền cho trang web bạn đă biết trong chương trước. Sau đây tôi xin giới thiệu cách điều chỉnh nhạc nền phù hợp với ư muốn của người tới thăm. Trang web cho phép người tới thăm lựa chọn một trong 3 cách: chơi nhạc một lần, chơi đi chơi lại hoặc tắt hẳn. Và chắc chắn bạn sẽ bất ngờ khi quay lại trang này sau 1 giờ: bạn sẽ nghe một bản nhạc khác! Điều này đơn giản lắm, chỉ cần đọc kỹ trang JavaScript và nghiên cứu source code của hai script dưới là bạn tự làm được ngay. Bây giờ mời bạn thử!

Làm ơn chỉnh nhạc nền của trang web: chạy một lần chạy liên tục tắt


Để làm được điều trên, bạn cần viết đoạn code sau:

<script language="JavaScript" src="scripts/music.js"></script>
<form method="post" name="music">
Lam on chon nhac nen cho trang web:
<input type="radio" name="opt" onClick="set_cookie('Option:','chay mot lan')"> chay mot lan
<input type="radio" name="opt" onClick="set_cookie('Option:','chay het bai quay lai')"> chay lien tuc
<input type="radio" name="opt" onClick="set_cookie('Option:','tat nhac nen')" checked> tat
</form>
<script language="JavaScript" src="scripts/load_music.js"></script>

Ngoài ra, cần có một folder mang tên sound, chứa các bài hát (xem trong script source code để biết tên các bài cần thiết) và hai script (download ở đây: music.jsload_music.js) nằm trong folder scripts


Bạn nhoc_con có hỏi trong forum cách tạo một popup window (thường chứa những thông báo mới) khi một trang được mở ra và muốn popup đó chỉ mở trong lần đầu tiên khi người xem vừa đến. Đây lại là một nhiệm vụ cao cả của cookie. Trang web mở popup và tự cài một cookie vào  máy của người xem và đánh dấu là máy này đă đọc popup để lần sau trang web không mở popup nữa. Tất nhiên bạn có thể dựa vào ví dụ trên để cho phép người xem tự quyết định ḿnh có muốn xem popup trong lần thăm tới không.

 Cookie at work - Popup Setting [see more]
Trong ví dụ này, bạn có thể thử những ǵ tôi đă nêu ở trên:

Show popup on your next visit? Yes No

Để làm được điều trên, bạn cần viết đoạn code sau:

<script language="JavaScript" src="scripts/popup.js"></script>
<form method="post" name="popup">
Show popup on your next visit?
<input type="radio" name="opt" onClick="set_popup('Popup:','yes')"> Yes
<input type="radio" name="opt" onClick="set_popup('Popup:','no')" checked> No
</form>
<script language="JavaScript" src="scripts/load_popup.js"></script>

Ngoài ra, bạn c̣n cần một file mang tên ihtml_popup.htm và hai script (download ở đây: popup.jsload_popup.js) nằm trong folder scripts. Trong trang Popup, bạn nên để lệnh onBlur="self.close()" trong tag body  để trang này tự đóng khi người xem xem tiếp trang chính



[index]