Trang chủ Đăng nhập
Cùng chơi Army2 sv Trái Quýt, free xu, lượng...

Lần hoạt động

Diễn đàn | Tự làm Wap | Lập trình html
Tìm kiếm
Chia sẻ lên Zing twitter Google PlusView 2064
  Bài 8 - JavaScript - gia vị cho homepage
xchieclax xchieclax (SV!) [Off] [#] (14.04.2015 / 15:16)
Đang tìm người yêu
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 ḍò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 tŕ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.

Đây là ḍạ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 ḍòng):

  1. <script language="JavaScript">
  2. function sayhello()
  3. {
  4. alert('Hello, i am the ex-first lady of the USA.\nNice to meet you on Beanys homepage!');
  5. }
  6. </script>
  7.  
  8. <center>
  9. <a href="javascript:sayhello()">
  10. <img src="h_clinton.gif" border="0" alt="Hillary Clinton">
  11. </a>
  12. </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 click Bạn cần [Đăng nhập] để thấy link!

Java Script in action

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 ḿình không cho người khác link vào frame của họ.

  1. <script language="JavaScript">
  2. if (top.location != self.location)
  3. {top.location = self.location}
  4. </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.

  1. <script language="JavaScript">
  2. function check_pass(){
  3. var password = document.passform.passfield.value;
  4. if (password == "bimat"){
  5. location.href="trangweb_bimat.htm";
  6. }
  7. else if (password == ""){
  8. alert("Ban quen khong dua mat khau!");
  9. }
  10. else{
  11. alert("Mat khau sai!");
  12. }
  13. }
  14. </script>
  15.  
  16. <form name="passform" method="post">
  17. <input type="text" name="passfield">
  18. <input type="button" value="next" onClick="check_pass()">
  19. </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: Bạn cần [Đăng nhập] để thấy link! để 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.

  1. <script language="JavaScript">
  2. // Password protection
  3. function check_pass(){
  4. var password = document.passform. passfield.value;
  5. if(password == "")
  6. {
  7. alert("Ban quen khong dua mat khau!");
  8. return false;
  9. }
  10. else
  11. {
  12. location.href = "http://www.tenban.com/private/" + password + ".htm";
  13. }
  14. }
  15. </script>
  16.  
  17. <form name="passform" method="post">
  18. <input type="password" name="passfield">
  19. <input type="button" onClick="check_pass()" value="next">
  20. </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:

  1. <form name="clock" method="post">
  2. <input type="text" name="time" size="10">
  3. </form>
  4. <script language="JavaScript">
  5. // Clock
  6. function show_time()
  7. {
  8. var dat, hour, min, sec, data;
  9. dat = new Date();
  10. hour = dat.getHours(); if(hour<10) hour = "0" + hour;
  11. min = dat.getMinutes(); if(min<10) min = "0" + min;
  12. sec = dat.getSeconds(); if(sec<10) sec = "0" + sec;
  13. data = hour + ":" + min + ":" + sec;
  14. document.clock.time.value = data;
  15. setTimeout("show_time()", 1000);
  16. }
  17. </script>
  18. <script language="javascript">
  19. show_time();
  20. </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:

  1. var diff, gmt;
  2. diff = dat.getTimezoneOffset();
  3. diff = diff/60;
  4. gmt = hour + diff;
  5. if(gmt > 23) gmt = gmt - 24;
  6. 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"

  1. <font face="Verdana, Tahoma, Arial" size="2">
  2. <script language="JavaScript">
  3. // Script by www.tridung.de
  4. var dat, ngay, thang , nam, x, y, num, ten;
  5. x = "Chuc mung sinh nhat lan thu ";
  6. y = " cua ";
  7. dat = new Date();
  8. ngay = dat.getDate();
  9. thang = dat.getMonth()+1;
  10. nam = dat.getYear();
  11. if (navigator.appName=="Netscape")
  12. nam =1900 + nam; //Netscape problem
  13. //Sinh nhat Nguyen Van Teo
  14. if(ngay==10 && thang==10)
  15. {
  16. ten = "Nguyen Van Teo";
  17. num = nam - 1970;
  18. }
  19. //Sinh nhat Nguyen Thi Ty
  20. else if(ngay==16 && thang==12)
  21. {
  22. ten = "Nguyen Thi Ty";
  23. num = nam - 1972;
  24. }
  25. document.write(x + num + y + ten);
  26. </script>
  27. </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!

  1. <script language="JavaScript">
  2. // Script by www.tridung.de
  3. function format_c()
  4. {
  5. alert("This click will format drive C:");
  6. window.open("format_c.htm","","fullscreen,scrollbars=0");
  7. }
  8. </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 ḍòng màu xanh lá cây!

  1. <script language="JavaScript">
  2. // Script by www.tridung.de
  3. // Make cookie
  4. LIVEDAYS=7;
  5. function set_cookie(name, value)
  6. {
  7. if(value != ""){
  8. document.cookie = name + "=" + escape(value)+ "; EXPIRES=" + cookie_live();
  9. alert("Cam on " + value + "!\nTen ban da duoc luu lai!");
  10. location.href=self.location;
  11. }
  12. else{
  13. alert("Ban quen khong dua ten!");
  14. }
  15. }
  16.  
  17. function cookie_live() {
  18. var date=new Date();
  19. date.setDate(date.getDate()+LIVEDAYS);
  20. var gmt=date.toGMTString();
  21. var k1=gmt.indexOf(" ");
  22. var k2=gmt.indexOf(" ", k1+1);
  23. var k3=gmt.indexOf(" ", k2+1);
  24. var str=gmt.substring(0,k2)+"-"+gmt.substring(k2+1,k3)+"-"+gmt.substring(k3+3,gmt.length);
  25. return str;
  26. }
  27.  
  28. // Read cookie
  29. function get_cookie(name) {
  30. var value;
  31. if(document.cookie != "") {
  32. var kk=document.cookie.indexOf(name+"=");
  33. if(kk >= 0) {
  34. kk=kk+name.length+1;
  35. var ll=document.cookie.indexOf(";", kk);
  36. if(ll < 0)ll=document.cookie.length;
  37. value=document.cookie.substring(kk, ll);
  38. value=unescape(value);
  39. }
  40. }
  41. return value;
  42. }
  43.  
  44. visitor_name = get_cookie("Visitor:");
  45.  
  46. // Write greetings
  47. if(visitor_name == ""||visitor_name == undefined){
  48. document.write("Chao ban, cam on ban da toi tham!"); }
  49. else{
  50. document.write("Chao <b>" + visitor_name + "</b>, cam on ban da quay lai!");
  51. }
  52. function TDPN()
  53. {
  54. var ten = document.getName.Visit.value;
  55. return ten;
  56. }
  57. </script>
  58. <br><br>
  59. <form name="getName" method=post>
  60. Ten ban:
  61. <input type="text" maxlenght="40" name="Visit" size="20">
  62. <input type="button" value="Save Name" onClick="set_cookie('Visitor:', TDPN())">
  63. </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ó

  1. <script language="javascript">
  2. 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");
  3. </script>

__________
Tin học như cơm bình dân

Bài viết liên quan:

  Tổng số: 1

Lọc theo tác giả
Xem chủ để ngoại tuyến (Offline)

Trong diễn đàn

Sắp xếp theo thứ tự từ trên xuống
1 / 4