Giáo trình Thiết kế và lập trình Web (Phần 1)

Địa chỉ IP

Các máy tính trong mạng Internet/ Intranet trao đổi thông tin với nhau theo chuẩn

truyền thông gọi là giao thức TCP/IP. Đây là giao thức cung cấp dịch vụ truyền các gói dữ- 6 -

liệu (IP datagrams) theo địa chỉ IP bằng cách chọn đƣờng (routing) trong mạng thông qua

cổng kết nối (gateway). Để việc trao đổi thông tin trong mạng Internet thực hiện đƣợc, mỗi

máy tính trong mạng cần phải đƣợc cấp một định danh (Identify) để phân biệt các máy với

nhau, mỗi máy đƣợc gán cho một nhóm số gọi là địa chỉ IP (IP Address) hay nói cách khác

địa chỉ IP dùng xác định đối tƣợng nhận và gửi thông tin trên Internet. Địa chỉ IP gồm 4 nhóm

số thập phân có giá trị từ 0 đến 255, phân các nhau bằng dấu chấm (.)

Trên thực tế, địa chỉ IP hiện tại (IP version 4) có 32 bit chia thành 4 octet (mỗi octet có

8 bit), các octet tách biệt nhau bằng dấu chấm (.)

Ví dụ : 11001011. 01100010. 01010011.00110101

pdf 38 trang kimcuc 7560
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Thiết kế và lập trình Web (Phần 1)", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

Tóm tắt nội dung tài liệu: Giáo trình Thiết kế và lập trình Web (Phần 1)

Giáo trình Thiết kế và lập trình Web (Phần 1)
BỘ GIAO THÔNG VẬN TẢI 
TRƢỜNG ĐẠI HỌC HÀNG HẢI 
BỘ MÔN: KỸ THUẬT MÁY TÍNH 
KHOA: CÔNG NGHỆ THÔNG TIN 
BÀI GIẢNG 
THIẾT KẾ VÀ LẬP TRÌNH WEB 
TÊN HỌC PHẦN : THIẾT KẾ VÀ LẬP TRÌNH WEB 
MÃ HỌC PHẦN : 17313 
TRÌNH ĐỘ ĐÀO TẠO : ĐẠI HỌC CHÍNH QUY 
DÙNG CHO SV NGÀNH : CÔNG NGHỆ THÔNG TIN 
HẢI PHÒNG - 2009 
 - 1 - 
MỤC LỤC 
Chƣơng 1: TỔNG QUAN .......................................................................................................... 5 
1.1. Internet ............................................................................................................................ 5 
1.1.1. Lịch sử mạng Internet .............................................................................................. 5 
1.1.2. Một số khái niệm liên quan đến mạng Internet ....................................................... 5 
1.1.3 World Wide Web ...................................................................................................... 6 
1.1.4. Thƣ điệntử (E-mail) ................................................................................................. 9 
1.2. Các kiểu mạng ................................................................................................................. 9 
1.3. Kiến trúc Client – server ............................................................................................... 10 
Chƣơng 2: NGÔN NGỮ SIÊU VĂN BẢN HTML ................................................................. 12 
2.1. Khái niệm cơ bản về ngôn ngữ HTML ......................................................................... 12 
2.2. Lập trình web với ngôn ngữ HTML .............................................................................. 12 
2.2.1. Các thành phần cơ bản của html ............................................................................ 12 
2.2.2. Cấu trúc tệp HTML ................................................................................................ 13 
2.3. Các thẻ cơ bản trong HTML ......................................................................................... 13 
2.3.1. Thẻ giải thích ......................................................................................................... 13 
2.3.2. Các thẻ định dạng văn bản ..................................................................................... 13 
2.3.3. Tạo liên kết (link) .................................................................................................. 16 
2.3.4. Một số kí tự đặc biệt trong HTML......................................................................... 17 
2.3.5. Các thẻ dùng thiết kế bảng ..................................................................................... 17 
2.3.6. Các thẻ tạo Frame .................................................................................................. 18 
2.3.7. Các thẻ dùng tạo Form ........................................................................................... 19 
CHƢƠNG 3. NGÔN NGỮ KỊCH BẢN JAVASCRIPT ......................................................... 21 
3.1. Mở đầu .......................................................................................................................... 21 
3.2. Cú pháp cơ bản JavaScript ............................................................................................ 21 
3.2.1. Kiểu dữ liệu............................................................................................................ 22 
3.2.2. Hằng và biến .......................................................................................................... 23 
3.2.3. Các toán tử ............................................................................................................. 23 
3.2.4 Câu lệnh .................................................................................................................. 26 
3.2.5 Câu lệnh điều kiện .................................................................................................. 26 
3.2.6 Câu lệnh lặp ............................................................................................................ 28 
3.3. Tƣơng tác giữa JavaScript và HTML ............................................................................ 30 
3.3.1. Sử dụng thẻ ......................................................................................... 30 
3.3.2. Sử dụng các tệp tin bên ngoài ................................................................................ 31 
3.4. Các đối tƣợng của trình duyệt ....................................................................................... 31 
Chƣơng 4: NGÔN NGỮ KỊCH BẢN VBSCRIPT .................................................................. 38 
4.1. Mở đầu .......................................................................................................................... 38 
4.2. Cú pháp cơ bản của VBScrip ........................................................................................ 38 
4.2.1. Khai báo hằng, biến, mảng .................................................................................... 38 
4.2.2. Chú thích ................................................................................................................ 39 
4.2.3. Các toán tử ............................................................................................................. 39 
4.2.4. Các cấu trúc điều khiển .......................................................................................... 39 
 - 2 - 
4.2.5. Hàm và Thủ tục ...................................................................................................... 40 
4.3. Tƣơng tác giữa VBScript và HTML ................................................................................. 41 
4.4. Các đối tƣợng của trình duyệt ....................................................................................... 42 
4.4.1. Đối tƣợng ERR ...................................................................................................... 42 
4.4.2. Đối tƣợng kịch bản DICTIONARY ....................................................................... 43 
4.4.3. Đối tƣợng FileSystemObject ................................................................................. 43 
Chƣơng 5: ACTIVE SERVER PAGE. ..................................................................................... 46 
5.1. Mô hình các lớp ............................................................................................................. 46 
5.2. Thiết lập WebServer...................................................................................................... 47 
5.2.1. ASP (Active Server Page) ..................................................................................... 47 
5.2.2. Trang ASP .............................................................................................................. 47 
5.2.3. IIS (Internet Information Server) ........................................................................... 48 
5.3. Xử l các yêu cầu của IIS .............................................................................................. 48 
5.4. Mô hình đối tƣợng ......................................................................................................... 49 
5.5. Các đối tƣợng của ASP ................................................................................................. 50 
5.5.1. Đối tƣợng Application ........................................................................................... 50 
5.5.2. Đối tƣợng AspError ............................................................................................... 52 
5.5.3. Đối tƣợng ObjectContext ....................................................................................... 52 
5.5.4. Đối tƣợng Response ............................................................................................... 53 
5.5.5. Đối tƣợng Request ................................................................................................. 55 
5.5.6. Đối tƣợng Server .................................................................................................... 58 
5.5.7. Đối tƣợng Session .................................................................................................. 60 
 - 3 - 
YÊU CẦU VÀ NỘI DUNG CHI TIẾT 
Tên học phần: Thiết kế và lập trình Web Loại học phần: 4 
Bộ môn phụ trách giảng dạy: Kỹ thuật máy tính Khoa phụ trách: CNTT 
Mã học phần: 17313 Tổng số TC: 3 
TS tiết L thuyết Thực hành/Xemina Tự học Bài tập lớn Đồ án môn học 
60 45 15 0 x 0 
Điều kiện tiên quyết: 
Sinh viên phải học xong các học phần sau mới đƣợc đăng k học phần này: 
Mạng máy tính, Truyền số liệu. 
Mục tiêu của học phần: 
- Cung cấp các kiến thức cơ bản về dịch vụ Web 
- Xây dựng Website. 
Nội dung chủ yếu 
- Mô hình mạng, ngôn ngữ lập trình. 
- Xây dựng site 
Nội dung chi tiết của học phần: 
TÊN CHƢƠNG MỤC 
PHÂN PHỐI SỐ TIẾT 
TS LT BT TH KT 
Chƣơng I. Tổng quan 3 7 
1.1. Internet 1 
1.2. Các kiểu mạng 1 
1.3. Kiến trúc Web 1 
Chƣơng II. Ngôn ngữ siêu văn bản HTML 8 5 3 
2.1. Khái niệm cơ bản về ngôn ngữ HTML 1 
2.2. Lập trình Web với ngôn ngữ HTML 1 
2.3. Các thẻ cơ bản trong HTML 3 
Chƣơng III. Ngôn ngữ kịch bản JavaScript. 10 6 3 1 
3.1. Mở đầu 0,5 
3.2. Cú pháp cơ bản JavaScript 2 
3.3. Tƣơng tác giữa JavaScript và HTML 2 
3.4. Các đối tƣợng của trình duyệt 1,5 
Chƣơng IV. Ngôn ngữ kịch bản VBcript. 24 6 15 3 
4.1. Mở đầu 0,5 
4.2. Cú pháp cơ bản VBScript 2 
4.3 Tƣơng tác giữa VBScript và HTML 2 
4.4. Các đối tƣợng của trình duyệt 1,5 
Chƣơng V. Active Server Page. 17 10 6 1 
5.1. Mô hình các lớp 2 
5.2. Thiết lập Web Server 2 
5.3. Xử l các yêu cầu của IIS 2 
5.4. Mô hình đối tƣợng 2 
5.5. Các đối tƣợng ASP 2 
Nhiệm vụ của sinh viên : 
Tham dự các buổi thuyết trình của giáo viên, tự học, tự làm bài tập do giáo viên giao, 
tham dự các buổi thực hành, các bài kiểm tra định kỳ và cuối kỳ, hoàn thành bài tập lớn 
theo yêu cầu. 
 - 4 - 
Tài liệu học tập : 
- Andy Budd, Cameron Moll và Simon Collison - CSS Mastery Advanced Web 
Standards Solutions – Nhà xuất bản Apress 2006 
- Paul Wilton - Beginning JavaScript. Second Edition – Nhà xuất bản Wrox, 2004 
John Gosney, ASP Programming for the absolute beginner – Nhà xuất bản No Starch 
Press, 2002 
- Scott Mitchell và James Atkinson, Teach yourself Active Server Pages 3.0 – Nhà xuất 
bản SAMS,2000 
- Jason Butler , ASP Data Access for Beginners – www.w3schools.com 
- Nguyễn Thị Thanh Trúc – Thiết kế và lập trình Web với ASP – Đại học Quốc gia 
thành phố Hồ Chí Minh, 2003 
Hình thức và tiêu chuẩn đánh giá sinh viên: 
- Đánh giá dựa trên tình hình tham dự buổi học trên lớp, các buổi thực hành, điểm kiểm 
tra thƣờng xuyên và điểm kết thúc học phần. 
- Hình thức thi cuối kỳ : thi viết. 
Thang điểm: Thang điểm chữ A, B, C, D, F 
Điểm đánh giá học phần Z = 0.4X + 0.6Y. 
Bài giảng này là tài liệu chính thức và thống nhất của Bộ môn Kỹ thuật máy tính, Khoa 
Công nghệ Thông tin và đƣợc dùng để giảng dạy cho sinh viên. 
Ngày phê duyệt: 15 / 6 / 2010 
Trƣởng Bộ môn: ThS. Ngô Quốc Vinh 
 - 5 - 
Chƣơng 1: TỔNG QUAN 
1.1. Internet 
1.1.1. Lịch sử mạng Internet 
Mạng Internet là mạng máy tính lớn nhất trên toàn cầu. Internet hay gọi tắt là NET đƣợc 
xem là mạng của các mạng (network of networks) dùng để trao đổi thông tin trên toàn thế 
giới, còn gọi là Siêu xa lộ thông tin (Information Superhighway). 
Ngày nay mạng Internet là một mạng công cộng kết nối hàng trăm triệu máy tính trên 
toàn thế giới. Về mặt vật l , mạng Internet sử dụng một phần của toàn bộ các tài nguyên của 
mạng viễn thông công cộng; về mặt kỹ thuật, mạng Internet sử dụng tập các giao thức TCP/IP 
do Vinton Gray Cerf và Robert Kahn xây dựng từ năm 1973 tại Trƣờng Đại học Stanford. Hai 
mô phỏng của công nghệ mạng Internet là Intranet và Extranet. 
Từ năm 1969, Bộ Quốc phòng Mỹ đã xây dựng mạng ARPANET, (ARPA là từ viết tắt 
của Advanced Research Projects Agency), tƣởng ban đầu của mạng Arpanet là dùng để trao 
đổi thông tin giữa các cơ quan chính phủ và các trung tâm nghiên cứu của các trƣờng đại học 
Mỹ. Điều đặc biệt ở mạng này là mạng vẫn hoạt động khi một phần của nó bị phá hủy trong 
các trƣờng hợp chiến tranh hoặc thiên tai. Sau đó mạng ARPANET chia làm hai mạng: 
 MILINET chỉ dùng cho các mục đích quân sự 
 Một mạng mới gọi là ARPANET dùng cho các mục đích phi quân sự 
Đến năm 1972, một mạng khác là CSNET (Computer Science Research Network) đƣợc 
nối với ARPANET. CSNET đƣợc tạo ra để liên kết các mạng độc lập khác. Tại thời điểm này 
đƣợc xem là ngày khai sinh ra mạng INTERNET. Vào năm 1980, tổ chức National Science 
Foundation đã xây dựng mạng NSFNET để liên kết đến các mạng chính, đây là mạng có tốc 
độ cao, dùng để kết nối các siêu máy tính trung tâm của NSF. 
Công nghệ mạng ngày càng phát triển, nhiều mạng mới đƣợc hình thành và kết nối với 
mạng ARPANET, CSNET và NSFNET. Tất cả mạng này kết nối với nhau và trở thành một 
mạng có tên gọi là INTERNET. Cuối cùng hai mạng Arpanet và Csnet ngƣng họat động, 
mạng Nsfnet trở thành mạng chính nối kết các mạng khác trên Internet. 
1.1.2. Một số khái niệm liên quan đến mạng Internet 
Địa chỉ IP 
Các máy tính trong mạng Internet/ Intranet trao đổi thông tin với nhau theo chuẩn 
truyền thông gọi là giao thức TCP/IP. Đây là giao thức cung cấp dịch vụ truyền các gói dữ 
 - 6 - 
liệu (IP datagrams) theo địa chỉ IP bằng cách chọn đƣờng (routing) trong mạng thông qua 
cổng kết nối (gateway). Để việc trao đổi thông tin trong mạng Internet thực hiện đƣợc, mỗi 
máy tính trong mạng cần phải đƣợc cấp một định danh (Identify) để phân biệt các máy với 
nhau, mỗi máy đƣợc gán cho một nhóm số gọi là địa chỉ IP (IP Address) hay nói cách khác 
địa chỉ IP dùng xác định đối tƣợng nhận và gửi thông tin trên Internet. Địa chỉ IP gồm 4 nhóm 
số thập phân có giá trị từ 0 đến 255, phân các nhau bằng dấu chấm (.) 
Trên thực tế, địa chỉ IP hiện tại (IP version 4) có 32 bit chia thành 4 octet (mỗi octet có 
8 bit), các octet tách biệt nhau bằng dấu chấm (.) 
Ví dụ : 11001011. 01100010. 01010011.00110101 
Để tiện việc quản l và phân phối địa chỉ, ngƣời ta chia các địa chỉ IP thành 3 phần : 
 31 0 Thứ tự các bit 
 Class ID Network ID Host ID 
Các địa chỉ IP đƣợc chia thành 5 lớp tùy theo giá trị của 3 byte đầu tiên: A,B,C,D,E. 
Riêng lớp D và E, Tổ chức Internet đang để dành cho các mục đích khác, không phân phối. 
Địa chỉ IP tự nó không chứa thông tin về mô tả mạng, subnet đi kèm với mỗi địa chỉ cung cấp 
thông tin này. 
Class Vùng địa chỉ l thuyết Số mạng sử 
dụng tối đa 
Số máy chủ trên 
từng mạng 
Subnet 
A 0.0.0.0 đến 127.0.0.0 126 16.777.214 255.0.0.0 
B 128.0.0.0 đến 191.255.0.0 16.382 65.534 255.255.0.0 
C 192.0.0.0 đến 223.255.255.0 2.097.150 254 255.255.255.0 
Địa chỉ IP trên Internet do ICANN chịu trách nhiệm phân bổ. Địa chỉ IP thƣờng đƣợc 
các ISP (Internet Service Provider) quản l . Trung tâm mạng Internet vùng Châu Á - Thái 
bình dƣơng (APNIC) phân phối cho VDC 8 địa chỉ ở lớp C, có thể phân phối cho 8 mạng từ 
203.162.0.0 đến 203.162.7.0. Ở Việt Nam, cơ quan VNNIC (Vietnam Internet Network 
Inforrmation Center) thuộc Bộ Bƣu chính – Truyền thông chịu trách nhiệm quả ... g phiên bản của nó, có thể là 
:"JavaScript 1.5", "JScript 5.6", "ECMAscript 262", "VBscript". 
- type = "text/js" báo cho trình duyệt biết tệp tin bên ngoài có thể có phần mở rộng là .js 
hay .txt đều đƣợc, đây là thuộc tính tùy chọn. 
- SCR xác định URL dẫn đến một tệp tin JavaScript đặt bên ngoài tệp HTML. 
Khi muốn sử dụng các biểu thức của JavaScript để làm giá trị thuộc tính cho một thẻ 
HTML ta dùng cú pháp: thuộc tính ="&{biểu thức};". 
Ví dụ : 
 var d=70; 
 Nội dung 1 Nội dung 2 
3.4. Các đối tƣợng của trình duyệt 
Trình duyệt là một ứng dụng dùng để hiển thị các nội dung của một tƣ liệu HTML. Các 
trình duyệt cũng đã đƣa ra một số đối tƣợng để các script có thể truy cập, các đối tƣợng này 
đƣợc tổ chức theo một mô hình phân cấp, gọi là mô hình đối tƣợng trình duyệt (BOM, 
Browser Object Model). Trong 9 đối tƣợng của BOM, đối tƣợng quan trọng nhất là đối tƣợng 
document. BOM đóng vai trò nhƣ là một API (Application Programming Interface) cho việc 
lập trình các ứng dụng trên nền tảng web cho client-side hay cách khác: chính trong môi 
trƣờng trình duyệt, JavaScript dựa vào mô hình này để truy xuất các đối tƣợng trên một trang 
web để cập nhật nội dung, cấu trúc và kiểu dáng của đối tƣợng 
Mỗi đối tƣợng trong BOM là một tập hợp gồm : 
- Các thuộc tính (Properties) 
- Các phƣơng thức (Methodes) 
Ngoài ra còn có các sự kiện (Events) có thể kết hợp trên đối tƣợng xác định. 
Trong giáo trình này, ngƣời viết dựa trên quan điểm của Peter Kantor (Đại học Hudson 
Valley, NY), chỉ trình bày về BOM mà không trình bày về DOM (Document Object Madel) 
vốn là một lĩnh vực rộng lớn, phù hợp cho XML hơn. Tuy nhiên, các tham khảo về DOM 
cũng có những lợi ích khi lập trình web. 
 Trong IE BOM, đối tƣợng lớn nhất là đối tƣợng window, còn trong NN BOM, đối 
tƣợng window và đối tƣợng navigator là ngang cấp. 
 Sự khác nhau giữa IE BOM và NN BOM chủ yếu là các đối tƣợng và các thuộc tính 
và phƣơng thức của mỗi đối tƣợng. 
 - 32 - 
 Có 9 đối tƣợng trình duyệt: window, document, event, frame, history, location, 
navigator, screen, mimeType và plugin; ta sẽ lần lƣợt nghiên cứu các đối tƣợng quan trọng, 
còn đối tƣợng quạn trọng nhất là document đƣợc tách ra một phần riêng. 
Đối tƣợng window 
Đối tƣợng window miêu tả cửa sổ đang hiển thị trang web, cung cấp các khả năng truy 
xuất đến các đối tƣợng con của nó và các trạng thái cũng nhƣ nắm bắt các sự kiện xảy ra trên 
cửa sổ này. 
Các thuộc tính 
- defaultStatus: dòng thông báo xuất hiện trên thanh trạng thái của cửa sổ trình duyệt. 
- status : dòng thông báo tạm thời xuất hiện trên thanh trạng thái của cửa sổ trình 
duyệt. 
- frames : mảng các frame đƣợc chứa bên trong cửa sổ trình duyệt 
- location : URL của tệp tin tƣ liệu HTM đƣợc mở trong cửa sổ hiện thời 
- name : tên của cửa sổ 
- closed : xác định trạng thái của cửa sổ có đƣợc đóng hay không. 
- top : trả về sổ cha nằm phía trên nhất. 
- parent : tham chiếu đến cửa sổ chứa một cửa sổ khác 
- self, window : chỉ cửa sổ hiện thời. 
- external : trả về host của trang web 
- openner : khi một cửa sổ đƣợc mở, thuộc tính openner trỏ đến cửa sổ cha của nó. 
Các phương thức 
 - alert : hiển thị một hộp hội thoại chứa một thông báo do một ứng dụng xác định. 
 - confirm : hiển thị một hộp hội thoại chứa một thông báo do một ứng dụng xác định 
và hai nút lệnh Yes, No; phƣơng thức trả về true | false tùy thuộc ngƣời sử dụng ấn nút yes 
hay no. 
 - prompt : hiển thị một hộp hội thoại chứa một thông báo do một ứng dụng xác định và 
một text box để ngƣời sử dụng nhập liệu. Phƣơng thức trả về một dữ liệu kiểu chuỗi. Cú pháp 
: window.prompt(dòng nhắc, giá trị mặc nhiên); 
 - close : đóng cửa sổ trình duyệt hiện thời hay một ứng dụng HTML (HTA). 
 - open : mở một cửa sổ mới và nạp tệp tƣ liệu HTML đƣợc cho bởi URL. Cú pháp : 
window.open(URL, windowName, features); 
Trong đó feature là các sắc thái của cửa sổ mới, đây là tham số tùy chọn. Một số thuôc 
tính và giá trị : 
o height | width | left | = x ; xác định kích thƣớc của cửa sổ và khoảng cách bên trái với 
cửa sổ hiện tại, đơn vị tính bằng pixel. 
o location | menubar | scrollbar | toolbar : thêm thanh địa chỉ, ... vào cửa sổ (gán giá trị 
yes sau mỗi thuộc tính để xác định) 
o resizable : cửa sổ có thể thay đổi kích thƣớc 
Ví dụ : window.open("chuong1.htm","wChap1","width=400, width=200"); 
 - print : in trang web hiện thời ra máy in. 
 - setTimeOut(); 
 - focus: chuyển cửa sổ vừa mở tiến đến phía trƣớc. 
Ví dụ : <a href ="#onClick="window.openner.location=""; 
{window.focus();} VietNamNet 
- blur : ngƣợc lại với phƣơng thức focus(), đƣa cửa sổ đang mở ra phía sau. 
 - 33 - 
- resizeTo(x, y) : thay đổi kích thƣớc cửa sổ với width =x và height=y. 
 - resizeBy(m, n) : với m,n Z, tăng / giảm kích thƣớc cửa sổ với m,n pixel. 
 - moveTo(x,y) : di chuyển cửa sổ đến vị trí với tạo độ đỉnh trên trái đến (x,y) 
 - moveBy(m.y) : tăng giảm tọa độ đỉnh trên trái của cửa sổ với m, n pixel 
-setInterval(câu lệnh JavaScript, số milli giây): thực hiện câu lệnh JavaScript trong 
khoảng thời gian, hàm này trả lại thời gian để hàm clearInterval() có thể loại bỏ nó. 
 -setTimeout(câu lệnh JavaScript, số milli giây): thực hiện câu lệnh JavaScript một lần 
sau một thời gian nhất định tính bằng milli giây. 
-clearTimeout(số milli giây) : xóa bỏ đồng hồ báo giờ. 
Các sự kiện 
 Có 5 sự kiện đƣợc kết hợp với đối tƣợng window: onblur, onfocus, onload, onresize, 
onunload. Ta sẽ nghiên cứu ở phần II.2 dƣới đây. 
Mô hình sự kiện (Event model) 
 Mô hình sự kiện trong IE và NN bao gồm hai thành phần , tuy nhiên về chi tiết có 
nhiều điểm khác nhau. 
 - Đối tượng Event, đƣợc xem là một giao diện sự kiện để lập trình các script. 
 - Danh sách các sự kiện, mỗi sự kiện đƣợc xem nhƣ là một thuộc tính nội tại của mỗi 
thẻ HTML. 
Đối tượng sự kiện (Event Object) 
 Sự kiện là kết quả của một hành động do ngƣời sử dụng hay hệ thống tạo ra, 
JavaScript là một ngôn ngữ hƣớng sự kiện, có thể sử dụng để đón bắt các sự kiện này khi 
chúng xảy ra và thực hiện các hành động. Thông qua việc nắm bắt và xử l sự kiện, 
JavaScript có thể truy cập đến các đối tƣợng của BOM để cập nhật, thay đổi thuộc tính của 
đối tƣợng, tạo nên trang web tƣơng tác và động, đây chính là khả năng mà Microsoft IE gọi là 
DHTML. 
 Đối tượng event 
Trong IE BOM : đối tƣợng event là một đối tƣợng con của đối tƣợng window còn 
trong NN BOM thì nó là một đối tƣợng ngang cấp với đối tƣợng window, và trong mỗi mô 
hình đối tƣợng tƣ liệu đối tƣợng event có các thuộc tính , phƣơng thức khác nhau đƣợc cho 
trong các bảng sau, đây là sự khác biệt quan trọng cần lƣu . 
Các thuộc tính của đối tƣợng event: 
(IE 6: Event Object có 38 thuộc tính, NN 8: Event Object có 201 thuộc tính) 
Properties IE NN Diễn tả 
altKey x x Trả về true nếu ngƣời sử dụng ấn phím ALT trong khi sự 
kiện xảy ra và ngƣợc lại 
ctlKey x x Trả về true nếu ngƣời sử dụng ấn phím CTRL trong khi 
sự kiện xảy ra và ngƣợc lại 
shiftKey x x Trả về true nếu ngƣời sử dụng ấn phím SHIFT trong khi 
sự kiện xảy ra và ngƣợc lại 
cancelBubble x x Trả về true nếu muốn ngƣng sự nổi bọt sự kiện 
clientX, clientY x x Tọa độ góc trên trái của trang web, tính bằng pixel 
screenX, screenY x x Tọa độ của màn hình tại vị trí xảy ra sự kiện 
pageX, pageY x Tọa độ của cửa số trang tại vị trí xảy ra sự kiện 
offsetX, offsetY x Tọa độ của cửa số trang tại vị trí xảy ra sự kiện 
fromElement x Trả về phần tử HTML mà từ đó con trỏ chuột đi ra 
 - 34 - 
Properties IE NN Diễn tả 
toElement x Trả về phần tử HTML mà từ đó con trỏ chuột đi vào 
keyCode x x Phím đƣợc sử dụng để kích họat sự kiện 
srcElement x Đối tƣợng mà sự kiện diễn ra trong đó 
target x Trả về đối tƣợng đầu tiên mà sự kiện diễn ra 
type x x Loại sự kiện 
keyCode x x Trả về mã Unicode của phím đƣợc ấn xuống 
Ngăn chặn sự nổi bọt sự kiện (Event Bubbling) 
Trong BOM, các phần tử của trang web đƣợc tổ chức theo một cây phân cấp, do vậy 
một sự kiện xảy ra trên đối tƣợng con có thể đƣợc xảy ra trên đối tƣợng cha của nó, hiện 
tƣợng này gọi là sự nổi bọt sự kiện. Ngƣợc lại với sự nổi bọt sự kiện là sự chảy tràn sự kiện 
(Event Flow), sự kiện xảy ra ở cấp cao sẽ ảnh hƣởng đến các cấp thấp hơn. 
Ví dụ: 
function cancelBubble(the){ 
var str=document.getElementById(the); 
if(str.tagName=="P") event.cancelBubble=true; //(1) 
/* script này chạy trên IE 6.0 lẫn NN 7.1 
có thể thay dòng lệnh (1) bằng event.cancelBubble=true; là đủ */ 
alert("Thẻ P"); 
} 
 PARAGRAPH 
 Nếu không có dòng lệnh (1) ở trên thì khi click trên PARAGRAPH sẽ lần lƣợt xảy ra 
sự kiện onClick trên thẻ rồi trên thẻ và hai hộp hội thoại lần lƣợt xuất hiện. 
Dòng lệnh (1) có tác dụng ngăn chặn sự nổi bọt sự kiện, lúc này khi click trên PARAGRAPH 
chỉ có hàm CancelBubble đƣợc thực hiện mà thôi. 
Trong script trên ta sử dụng các phƣơng thức và thuộc tính đƣợc cả hai trình duyệt 
chấp nhận : phƣơng thức getElementByID (sẽ trình bày trong mục Document Object) và 
thuộc tính event.cancelBubble (đã trình bày trên), kỹ thuật nhƣ vậy gọi là cross-browser. 
Các sự kiện 
 Tập hợp các sự kiện là thành phần của BOM chứ không phải là thành phần của 
JavaScript, mỗi phần tử trên trang web đƣợc kết hợp với một số sự kiện và các sự kiện này 
khác nhau trên mỗi trình duyệt hay cách khác mỗi thẻ HTML có những thuộc tính sự kiện xác 
định. 
 Lưu ý: giữa Microsoft và Netscape sử dụng các thuật ngữ liên quan đến mô hình sự 
kiện khá khác nhau, tuy nhiên nội dung đều nhƣ nhau: MS gọi event thì Netscape gọi event 
handler ...). Để thống nhất, trong giáo trình này chúng ta sử dụng thuật ngữ theo Microsoft. 
 Cách sử dụng: 
 - 35 - 
 ... 
Danh sách các sự kiện thông dụng đƣợc sử dụng cho IE và NN : 
NSD : Ngƣời sử dụng 
Event Áp dụng cho phần tử Mô tả & Sử dụng khi 
onAbort image NSD dỡ bỏ việc nạp ảnh khi ckick vào một 
liên kết hay ấn nút lệnh Stop 
onBlur window, frame và cả các 
phần tử của form 
NSD rời khỏi tiêu điểm từ window, frame hay 
tất cả phần tử của form 
onFocus window, frame và cả các 
phần tử của form 
Đƣợc kích họat khi NSD thiết lập tiêu điểm 
trên đối tƣợng window, frame,... 
onClick link, button, check box, 
v.v. 
Đƣợc kích họat khi NSD ấn nút trái của chuột 
lên đối tƣợng 
onChange text field, text area, 
select list 
Đƣợc kích họat khi NSD thay đổi giá trị của 
phần tử 
onLoad window, document, 
applet, framset, image, 
link, object, script, style 
Đƣợc kích họat sau khi trình duyệt đã tải xong 
tƣ liệu HTML , applet hay image... 
onUnLoad window, document, 
framset 
Đƣợc bẩy (trigger) khi NSD loại bỏ tƣ liệu 
HTML khỏi trình duyệt. 
onMouseDown button, link, document Đƣợc kích họat khi NSD ấn một phím chuột 
onMouseUp button, link, document Đƣợc kích họat khi NSD thả một phím chuột 
onMouseOver textarea, link, layer , 
image, button ... 
Đƣợc kích họat khi NSD di chuyển con trỏ 
chuột trên phần tử 
onMouseOut textarea, link, layer, 
image, button 
Đƣợc kích họat khi NSD di chuyển con trỏ 
chuột ra khỏi phần tử 
onResize window, frame Đƣợc kích họat khi kích thƣớc đối tƣợng sắp 
bị thay đổi 
onScroll window, frame Đƣợc kích họat khi NSD sử dụng thanh cuộn 
của cửa sổ 
onKeyDown textbox, text area Đƣợc kích họat khi NSD ấn một phím 
onKeyUp textbox, text area Đƣợc kích họat khi NSD nhả một phím 
onKeyPress textbox, text area Đƣợc kích họat khi NSD gõ một phím 
Ví dụ 1: Sử dụng sự kiện onLoad để tự động mở trang web khác xuất hiện phía trƣớc 
trang web hiện tại. 
Đối tƣợng history 
Đối tƣợng history lƣu giữ các URL mà ngƣời sử dụng đã mở bằng trình duyệt. 
window.history có các thuộc tính và phƣơng thức sau : 
Thuộc tính 
- lenght : danh sách URL trong history 
- current: URL của tƣ liệu HTML hiện hành 
- next: URL của tƣ liệu HTML tiếp sau 
 - 36 - 
- previous : URL của tƣ liệu HTML đƣợc mở liền trƣớc. 
Các phương thức 
- back() : trở lại trang trƣớc 
- forward() : đi đến trang kế tiếp 
- go() : nhận tham số là một URL hay một số (-1,0,1) để đi đến trang xác định. Trong 
IE: -1 tƣơng ứng với trang trƣớc, 0: trang hiện tại, 1: trang kế tiếp. 
Đối tƣợng location 
 Đối tƣợng location chứa các thông tin về giao thức, host, port, liên kết, đƣờng dẫn, tên 
tệp tƣ liệu HTML của tệp tƣ liệu HTML đƣợc xem từ client, đồng thời cho phép thiết lập 
URL cho đối tƣợng window . 
Các thuộc tính 
- host : tên webserver 
- hostname : tên miền 
- href : đƣờng dẫn đầy đủ của liên kết 
- pathname : đƣờng dẫn và tên tệp tin của liên kết 
- port : cổng URL 
- protocol : giao thức thực hiện liên kết. 
- search : trả về một chuỗi là thông tin nhận đƣợc từ một trang web khác gửi đến 
theo phƣơng pháp GET. 
Để biết các thuộc tính của đối tƣợng location ta sử dụng đọan script sau: 
for(prop in location){ 
document.write(prop+": "+location[prop]+"";} 
Đối tƣợng navigator 
Đối tƣợng navigator chứa các thông tin về trình duyệt: tên, phiên bản, tên mã, ngôn ngữ 
thể hiện, hệ điều hành... 
Các thuộc tính (đƣợc IE và NN sử dụng): 
- Appname : tên trình duyệt 
- AppVersion : phiên bản của trình duyệt 
- appCodeName : tên mã của trình duyệt 
- platform : hệ điều hình của trình duyệt 
Để biết các thuộc tính của đối tƣợng navigator ta sử dụng đọan script sau: 
for(prop in navigator){ 
document.write(prop+": "+ navigator [prop]+"";} 
Chú ý : Trong IE BOM navigator là đối tƣợng con của window, còn trong NN BOM 
navigator ngang cấp với window. 
Đối tƣợng screen 
 Đối tƣợng screen chứa các thuộc tính liên quan đến độ phân giải màn hình, khả năng 
màu sắc và kích thƣớc màn hình tính bằng pixel: 
- AvailHeight : Chiều cao của màn hình hệ thống, không kể thanh tác vụ 
- AvailWidth : Chiều rộng của màn hình hệ thống, không kể thanh tác vụ 
- ColorDepth : Số bít dùng để thể hiện màu cho mỗi pixel 
- Height : Độ phân giải tính theo chiều đứng của màn hình 
- Width : Độ phân giải tính theo chiều ngang của màn hình 
 - 37 - 
Đọan script sau sẽ thay đổi kích thƣớc và canh giữa cửa sổ trình duyệt trên màn hình 
của ngƣời sử dụng : 
var newTopLeftX=(screen.availWidth-640)/2.0; 
var newTopLeftY =(screen.availHeight-480)/2.0; 
window.resizeTo(640,480); 
window.moveTo(newTopLeftX, newTopLeftY); 
Đối tƣợng document 
document là đối tƣợng tƣ liệu, chứa tất cả phần tử HTML của trang web. Đây là đối 
tƣợng quan trọng nhất trong mô hình đối tƣợng trình duyệt, cho đến nay giữa IE và NN không 
có nhiều khác biệt: các đối tƣợng all, filter và selection chỉ có trong IE BOM còn đối tƣợng 
layer vốn là một đặc trƣng của NN, nay đã không tồn tại trong các phiên bản NN 6.0 hay cao 
hơn. 
CÂU HỎI VÀ BÀI TẬP 
1. Viết một script cho lại các mục của trình đơn để giải phƣơng trình bậc nhất, phƣơng 
trình bậc hai một ẩn 
2. Viết một script cho phép nhập dữ liệu vào mãng. Hãy sắp xếp mãng đó theo phƣơng 
thức Sort và in ra kết quả (Sử dụng phƣơng thức document.write biến) 
3. Viết một script cho phép nhập một chuỗi k tự. Cho biết độ dài của chuỗi, số từ trong 
chuỗi, xóa bỏ các khoảng trống không có nghĩa trong chuỗi. 
4. Tạo một lịch gồm có các thông tin : ngày, tháng, năm để ngƣời sử dụng có thể tra cứu 
thông tin theo thời gian đã lựa chọn (không dùng đối tƣợng ActiveX) 
(Tạo lịch giống đối tƣợng ActiveX, nhƣng chỉ sử dụng JavaScript: tham khảo tại địa chỉ 
 hay thƣ viện JavaScript trên 

File đính kèm:

  • pdfgiao_trinh_thiet_ke_va_lap_trinh_web_phan_1.pdf