[back] [index]
JavaScript - gia vị cho homepage
Java v� JavaScript kh�ng đơn giản như HTML, �t ra l� đối với t�i.
T�i nghĩ rằng, để tạo dựng một homepage th�ng thường,
ch�ng ta cũng kh�ng cần thiết phải đi s�u v�o chuy�n đề n�y.
Vả lại nếu c� muốn, t�i cũng kh�ng đủ khả năng
v� t�i kh�ng phải l� người trong ng�nh IT. Trong phần n�y t�i chỉ
muốn giới thiệu với bạn về c�c JavaScripts, JavaApplets v�
c�ch đưa ch�ng v�o homepage cho hợp l� v� hữu �ch m� kh�ng đi s�u
v�o từng chi tiết của program code.
Xin lỗi v� lời giải th�ch d�i d�ng, nhưng theo t�i, điều đ� l�
cần thiết.
Chắc bạn cũng đ� c� lần tự hỏi, hey c�i tay chủ
homepage n�y l�m thế n�o m� biết được m�nh đ� từng đến
thăm trang của hắn v� lại c�n nhớ được cả t�n
m�nh đưa v�o, l�m thế n�o hắn biết m�nh d�ng browser g�. Rồi
chắc bạn cũng c� lần v� đầu suy nghĩ, l�m thế n�o m�
khi đưa mouse l�n tr�n một graphic lại hiện l�n một graphic kh�c...
Tất cả những điều l�m bạn ngạc
nhi�n đ� được thực hiện bởi c�i gọi l� JavaScript.
JavaScript code được viết trực tiếp v�o HTML code, JavaScripts
kh�ng cần phải bi�n dịch (compile) v� bạn c� thế bắt chước
được bằng c�ch nghi�n cứu HTML code của c�c trang bạn th�ch.
Như đ� n�i trong những trang đầu, tr�n thị trường Internet tồn
tại nhiều loại tr�nh duyệt kh�c nhau (chủ yếu l� Microsoft
Internet Explorer v� Netscape Navigator, Communicator) v�
kh�ng phải tất cả c�c tr�nh duyệt đều c� t�nh năng như nhau.
D�ng JavaScript, bạn c� thể l�m cho trang web của m�nh vừa vặn
với tr�nh duyệt của người đến thăm... V� t�i biết chắc rằng
bạn đang sử dụng Microsoft Internet Explorer ;-)
Tất cả những v� dụ n�u tr�n chỉ l� một phần v� c�ng nhỏ b� so
với những g� JavaScript c� thể thực hiện được. Bạn thử click
v�o tấm h�nh của Hillary Clinton xem sao!
��y l� d�ng html code bạn phải viết (d�ng code m�u xanh phải
viết liền, kh�ng xuống d�ng):
<script
language="JavaScript">
function sayhello()
{
alert('Hello, i am the
ex-first lady of the USA.\nNice to meet you on Beanys
homepage!');
}
</script>
<center>
<a href="javascript:sayhello()">
<img src="h_clinton.gif" border="0" alt="Hillary
Clinton">
</a>
</center>
|
�� chỉ l� lời giới thiệu về JavaScript, trong thời gian tới,
bạn sẽ t�m thấy ở đ�y nhiều điều th� vị hơn về đề t�i n�y. �ể
xem c�c phần kh�c của Instant HTML, bạn h�y g� [v�o
đ�y]
Java Script in action [see more] |
V� một đoạn Java Script
ngắn như dưới cũng đủ gi�p bạn bảo vệ
trang web của m�nh kh�ng cho
người kh�c link v�o frame của họ.
<script language="JavaScript">
// anti-steal-page-script by www.tridung.de
if (top.location != self.location)
{top.location = self.location}
</script>
|
�oạn Script sau c� thể d�ng để kiểm tra password, nếu đ�ng
th� mở trang web được bảo vệ, nếu sai, c� th�ng b�o.
<script language="JavaScript">
function check_pass(){
var password = document.passform.passfield.value;
if (password == "bimat"){
location.href="trangweb_bimat.htm";
}
else
if (password == ""){
alert("Ban quen khong dua mat khau!");
}
else{
alert("Mat khau sai!");
}
}
</script>
<form name="passform"
method="post">
<input type="text" name="passfield">
<input type="button" value="next"
onClick="check_pass()">
</form>
|
�oạn Script tr�n tuy c� kiểm tra password nhưng kh�ng lừa
được những người biết HTML. Bạn chỉ cần xem trong source code
ở đoạn script l� biết ngay. Dưới đ�y l� biện ph�p tốt hơn.
Ch�ng ta sử dụng ngay t�n của file cần bảo vệ l�m password.
Biện ph�p n�y cũng chỉ c� hiệu quả khi bạn bảo vệ folder
private,
nơi đặt file đ� để tr�nh trường hợp người
xem tới: http://www.tenban.com/private/
để xem to�n bộ nội dung folder n�y. C�ch đơn giản nhất
l� tạo một file mang t�n
index.htm trong folder private.
Trong trường hợp tr�n, người đọc sẽ chỉ nhận
được file
index.htm thay v� content của cả folder.
<script language="JavaScript">
// Password protection by www.tridung.de
function check_pass(){
var password = document.passform.
passfield.value;
if(password == "")
{
alert("Ban quen khong dua mat khau!");
return false;
}
else
{
location.href =
"http://www.tenban.com/private/" +
password + ".htm";
}
}
</script>
<form name="passform"
method="post">
<input type="password" name="passfield">
<input type="button" onClick="check_pass()" value="next">
</form>
|
D�ng JavaScript, bạn c�n c� thể tạo một đồng hồ tr�n web
site của m�nh. Xem v� dụ sau:
<form name="clock" method="post">
<input type="text" name="time"
size="10">
</form>
<script language="JavaScript">
// Clock by www.tridung.de
function show_time()
{
var dat, hour, min, sec, data;
dat = new Date();
hour = dat.getHours(); if(hour<10) hour = "0" + hour;
min = dat.getMinutes(); if(min<10) min = "0" + min;
sec = dat.getSeconds(); if(sec<10) sec = "0" + sec;
data = hour + ":" + min + ":" + sec;
document.clock.time.value = data;
setTimeout("show_time()", 1000);
}
</script>
<script language="javascript"> show_time();
</script>
|
Ngo�i ra bạn c�n c� thể d�ng dat.getTimezoneOffset()
để t�nh thời gian ch�nh lệch giữa nơi m�nh ở v� GMT
(t�nh bằng ph�t). Vậy để c� giờ GMT, bạn phải l�m
ph�p t�nh sau:
var diff, gmt;
diff = dat.getTimezoneOffset();
diff = diff/60;
gmt = hour + diff;
if(gmt > 23) gmt = gmt - 24;
else if(gmtime < 0) gmtime = gmtime + 24;
|
Giả sử giờ local tr�n m�y bạn l� 0h, ch�nh lệch giữa nơi bạn ở v� GMT l� 5
tiếng, vậy l�c đ� gmt sẽ mang gi� trị
0+(-5)=-5. Vậy phải c� th�m d�ng code
if(gmt < 0) gmt=gmt+24
v� b�y giờ bạn c� gmt
với gi� trị -5+24=19 (19 giờ)
V� đang tiện n�i về thời gian, t�i giới thiệu th�m với bạn một ứng dụng
của JavaScript. Trong trang chủ của website n�y, t�i c� c�i sẵn lời
ch�c mừng sinh nhật tới bạn b�, cứ đến ng�y l� tr�n trang web tự hiện
l�n lời ch�c. Tương tự như vậy, bạn cũng c� thể sử dụng code sau để
viết "Good morning", "Good evening" hay "Good afternoon"
<font face="Verdana, Tahoma, Arial" size="2">
<script language="JavaScript">
// Script by www.tridung.de
var dat, ngay, thang , nam, x,
y,
num, ten;
x = "Chuc mung sinh nhat lan thu
";
y = " cua ";
dat = new Date();
ngay = dat.getDate();
thang = dat.getMonth()+1;
nam = dat.getYear();
if (navigator.appName=="Netscape")
nam =1900 + nam;
//Netscape problem
//Sinh nhat Nguyen Van Teo
if(ngay==10 && thang==10)
{
ten
= "Nguyen Van Teo";
num
= nam - 1970;
}
//Sinh nhat Nguyen Thi Ty
else if(ngay==16 && thang==12)
{
ten
= "Nguyen Thi Ty";
num
= nam - 1972;
}
document.write(x +
num +
y + ten);
</script>
</font>
|
JavaScript cũng c� thể rất "nguy hiểm". Bạn thử click v�o button dưới
xem sao. Sau đ� bạn h�y thử t�m hiểu xem t�i đ� l�m thế n�o nh�. �ơn
giản lắm!
<script language="JavaScript">
// Script by www.tridung.de
function format_c()
{
alert("This click will format drive C:");
window.open("format_c.htm","","fullscreen,scrollbars=0");
}
</script>
|
C�n một v� dụ nữa cũng rất hữu �ch: Nhớ t�n của người tới xem để lần
sau ch�o bằng t�n. V� dụ n�y hơi phức tạp n�n t�i khuy�n bạn thử rồi
h�y t�m hiểu dần. Script n�y sẽ tạo một Cookie tr�n m�y của người
xem (client-side), lần sau khi người ta tới, trang web của ta sẽ mở
cookie đ� ra v� đọc t�n đ� được đưa v�o. V� dụ n�y c� 3 giai đoạn: tạo
cookie, đọc cookie v� viết lời ch�o. Bạn copy
to�n bộ đoạn code dưới v�o HTML code trong trang của bạn, chỉ sửa những
d�ng m�u xanh l� c�y!
<script language="JavaScript">
// Script by www.tridung.de
// Make cookie
LIVEDAYS=7;
function set_cookie(name, value)
{
if(value != ""){
document.cookie = name + "=" + escape(value)+ ";
EXPIRES=" + cookie_live();
alert("Cam on " + value +
"!\nTen ban da duoc luu lai!");
location.href=self.location;
}
else{
alert("Ban quen khong dua ten!");
}
}
function cookie_live() {
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;
}
// Read cookie
function get_cookie(name) {
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;
}
visitor_name = get_cookie("Visitor:");
// Write greetings
if(visitor_name == ""||visitor_name == undefined){
document.write("Chao ban, cam on ban da toi tham!");
}
else{
document.write("Chao
<b>" +
visitor_name + "</b>, cam on ban da
quay lai!"); }
function TDPN()
{
var ten = document.getName.Visit.value;
return ten;
}
</script>
<br><br>
<form name="getName" method=post>
Ten ban:
<input type="text" maxlenght="40" name="Visit"
size="20">
<input type="button" value="Save Name"
onClick="set_cookie('Visitor:',
TDPN())">
</form>
|
Bạn nhoc_con c� hỏi tr�n forum c�ch tạo một popup khi v�o một trang để đưa ra những th�ng b�o mới.
�iều đ� rất dễ thực hiện: bạn chỉ cần tạo một trang mang nội dung th�ng b�o (v� dụ: pop.htm) v� sử dụng code sau để mở n�
<script language="javascript">
window.open("pop.htm","Thong Bao","width=400,height=300, toolbar=0, directories=0, menubar=0, status=0, resizable=no, location=0, scrollbars=0, titlebar=no");
</script>
|
|
|
[index]
|