Tiểu luận: Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX - Pdf 20

Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX

Tiểu luận
Tìm hiểu và xây dựng
ứng dụng dựa trên công
nghệ AJAX
1
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
, tháng năm
Mục Lục
I.1 Quá trình phát triển các công nghệ trong ứng dụng Web 5
I.1.1 CGI 5
I.1.2 Applet 5
I.1.3 JavaScript 5
I.1.4 JSP/Servlet, ASP và PHP 5
I.1.5 Flash 5
I.1.6 DHTML 6
I.1.7 XML 6
I.2 Web 2.0 và công nghệ AJAX 6
I.2.1 Công nghệ Web thế hệ thứ hai – Web 2.0 6
I.2.2 Các vấn đề nảy sinh và sự ra đời của AJAX 7
I.2.3 AJAX là gì ? 7
I.2.4 Các thế mạnh của AJAX 7
CHƯƠNG II: Các công nghệ trong AJAX 10
II.1 Cascading Style Sheet – CSS 10
II.1.1 Giới thiệu về CSS 10
II.1.2 Các ưu điểm của CSS trong thiết kế web 10
II.1.3 Cú pháp cơ bản của CSS 11
II.1.4 Các thuộc tính của CSS Style 11
II.2 Document Object Model – DOM 11

IV.2 Xử lí các response của server 19
IV.2.1 Dùng thuộc tính innerHTML để tạo nội dung động 19
IV.2.2 Phân tách response theo chuẩn XML 19
IV.2.3 Cập nhật nội dung động với W3C DOM 20
IV.3 Gửi các tham số request từ phía client 20
IV.3.1 Gửi các tham số request theo chuẩn XML 20
IV.3.2 Gửi dữ liệu tới server bằng JSON 20
IV.4 Kết luận 20
CHƯƠNG V: Xây dựng ứng dụng AddressBook 21
V.1 Giới thiệu 21
V.2 Thiết kế các module trong ứng dụng 21
V.3 Thiết kế cơ sở dữ liệu 21
V.4 Triển khai ứng dụng 21
V.4.1 Yêu cầu 21
V.4.2 Qui trình cài đặt 22
V.4.3 Kết quả cài đặt ứng dụng trên Windows 22
V.5 Triển khai một ứng dụng không dùng AJAX 22
V.5.1 Giới thiệu và cài đặt ứng dụng SimpleAddressBook 22
VI.5.2 So sánh hai ứng dụng AddressBook và SimpleAddressBook 23
KẾT LUẬN 23
Nhiệm vụ của đồ án
Đồ án này tập trung nghiên cứu về công nghệ Ajax và ứng dụng của nó,
trong đó tập trung vào các yếu tố sau:
 Giới thiệu về AJAX, các công nghệ trong AJAX
 Việc truyền và xử lý dữ liệu trong AJAX
 Các framework cho phát triển ứng dụng web với AJAX
 Xây dựng ứng dụng áp dụng AJAX
Kết quả
 Nêu lên quá trình phát triển của công nghệ Web và thế hệ Web 2.0
 Tìm hiểu các công nghệ trong AJAX đó là CSS, DOM, XML và JavaScript

Model (DOM). DOM hoàn toàn là cách biểu diễn hướng đối tượng của trang Web
và nó có thể được sửa đổi với các ngôn ngữ kịch bản bất kỳ như JavaScript hay
VBScript.
I.1.4 JSP/Servlet, ASP và PHP
Servlet là một bước tiến lớn, nó đưa ra một thư viện hàm API trên Java và
một thư viện hoàn chỉnh để thao tác trên giao thức HTTP. JSP và ASP đều được
thiết kế để phân tách qua trình xử lí khỏi quá trình biểu diễn. Các công nghệ khác,
trong đó phải kể đến là PHP (Hypertext Preprocessor) cho tới Cold Fusion. Các
công nghệ này cung cấp các bộ công cụ rất mạnh cho các nhà phát triển.
I.1.5 Flash
Flash cho phép các nhà thiết kế tạo các ứng dụng hoạt họa và linh động.
Flash không đòi hỏi các kỹ năng lập trình cao cấp và rất dễ học.
5
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
I.1.6 DHTML
Trong thực tế nó là một tập hợp gồm HTML, Cascading Style Sheets
(CSS), JavaScript, và DOM. Tập hợp các công nghệ trên cho phép các nhà pháp
triển sửa đổi nội dung và cấu trúc của một trang Web một cách nhanh chóng.
I.1.7 XML
Ngày nay chúng ta có rất nhiều dạng dẫn xuất của XML cho các ứng dụng
Web (tất nhiên là có cả XHTML): XUL của Mozilla; XAMJ, một sản phẩm mã
nguồn mở trên nền Java; MXML từ Macromedia; và XAML của Microsoft.
I.2 Web 2.0 và công nghệ AJAX
I.2.1 Công nghệ Web thế hệ thứ hai – Web 2.0
Được xem là một cuộc cách mạng trên thế giới mạng, thế hệ web mới có
những thay đổi quan trọng không chỉ ở nền tảng công nghệ mà còn cả ở cách thức
sử dụng - hình thành nên môi trường cộng đồng, ở đó mọi người cùng tham gia
đóng góp cho xã hội "ảo" chứ không chỉ "duyệt và xem".
I.2.1.1 Khái niệm

Một trong những giới hạn quan trọng của các ứng dụng Web hiện tại là
cách thức nó tương tác với người dùng. Khác với các phần mềm chạy độc lập ở
máy khách có những khả năng dường như vô tận trong cách thức tương tác với
người dùng, các ứng dụng Web bị giới hạn bởi chính nguyên lý hoạt động của nó:
tất cả các giao dịch phải thực hiện thông qua phương thức giao dịch HTTP. Bên
cạnh rào cản về cách thức tương tác, các ứng dụng Web còn vấp phải nhiều giới
hạn khác (ví dụ như bản thân việc phải hoạt động dựa trên các trình duyệt đã là
một rào cản quan trọng). Ajax ra đời là một giải pháp cho các ứng dụng Web hiện
nay.
I.2.3 AJAX là gì ?
AJAX là tập hợp của nhiều công nghệ với thế mạnh của riêng mình để tạo thành
một sức mạnh mới. AJAX bao gồm:
 Thể hiện web theo tiêu chuẩn XHTML và CSS, các chuẩn của W3C, được
Firefox (Mozilla), Safari (Apple), Opera, Netscape 8.0 (nhân Firefox) hỗ
trợ rất tốt.
 Nâng cao tính năng động và phản hồi bằng DOM (Document Object
Model); một chuẩn của W3C
 Trao đổi và xử lý dữ liệu bằng XML và XSLT; cũng là một chuẩn của
W3C
 Truy cập dữ liệu theo kiểu bất đồng bộ (asynchronous) bằng
XMLHttpRequest
 Và tất cả các công nghệ trên được liên kết lại với nhau bằng JavaScript.
I.2.4 Các thế mạnh của AJAX
Ajax là viết tắt của Asynchronous JavaScript and XML – công nghệ kết
hợp hai tính năng mạnh của JavaScript được các nhà phát triển đánh giá rất cao:
 Gửi yêu cầu (request) đến server
 Phân tách và làm việc với XML
Các ứng dụng Ajax xoay quanh một tính năng có tên là XMLHttpRequest.
Ở các ứng dụng web truyền thống, khi người dùng có một cần thay đổi dữ liệu trên
trang Web, yêu cầu thay đổi được gửi về server dưới dạng HTTP request (hay còn

Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
CHƯƠNG II: Các công nghệ trong AJAX
AJAX là một tập hợp các công nghệ bổ sung lẫn nhau. JavaScript có vai trò
chất keo kết dính các ứng dụng lại với nhau. Giao diện người dùng được tạo và tái
nạp bằng cách dùng JavaScript để điều khiển Document Object Model, tạo và tổ
chức biểu diễn dữ liệu cho người dùng, đồng thời xử lí các tương tác trên chuột và
bàn phím. Cascading Style Sheets (CSS) cung cấp một sự nhất quán trên cảm quan
“look and feel” cho ứng dụng và khả năng thao tác mạnh mẽ với DOM. Đối tượng
XMLHttpRequest (hay một cơ chế tương đương nào đó) được dùng để liên lạc
một cách bất đồng bộ với server, đảm bảo việc gửi yêu cầu người dùng và tái nạp
dữ liệu trong khi người dùng vẫn làm việc.
II.1 Cascading Style Sheet – CSS
II.1.1 Giới thiệu về CSS
Cascading Style Sheet – tạm dịch là bảng kiểu xếp chồng - là một phần
không thể thiếu trong thiết kế Web. Một stylesheet đưa ra cách kiểm soát các loại
định dạng trực quan, nó có thể được áp dụng cho các thành phần riêng lẻ trên các
trang. Với Ajax, stylesheet cung cấp một “kho chứa” các giao diện xác định trước
có thể áp dụng cho các phần tử động với độ dài các đoạn mã nguồn là nhỏ nhất.
CSS định dạng một trang web theo ba cách :
o Sử dụng trực tiếp kèm với các thẻ HTML (Inline Style Sheet)
o Định nghĩa trong một trang web (Internal Style Sheet).
o Định nghĩa thành một file CSS riêng (External Style Sheet). Trang web của
chúng ta sẽ tham chiếu đến file CSS này.
Một quy tắc định dạng và bố trí gồm có hai phần: thành phần lựa chọn -
selector và phần khai báo - style declaration. Selector đặc tả các phần tử được định
dạng và bố trí, và style declaration khai báo các thuộc tính định dạng sẽ được áp
dụng.
II.1.2 Các ưu điểm của CSS trong thiết kế web
a. CSS giúp tiết kiệm được rất nhiều thời gian và công sức cho việc thiết kế web
b. CSS cho phép điều khiển cách định dạng và cách bố trí của cùng lúc nhiều trang

Trong thân của tài liệu, có các bảng, paragraph, list, và các loại thẻ khác với các
thẻ ở mức thấp hơn nữa.
II.2.1 Làm việc với DOM bằng JavaScript
Trong một ứng dụng bất kỳ, nếu muốn thay đổi giao diện người dùng khi
họ đang làm việc, thì phải cung cấp các phản hồi lại khi người dùng gửi các yêu
cầu.
II.2.2 Tìm kiếm một DOM Node
Yêu cầu đầu tiên để làm việc trên DOM với JavaScript là đi tìm kiếm một
phần tử để thay đổi. Trước hết cần bắt đầu tham chiếu qua nút gốc - root node, nút
này thể hiện qua biến toàn cục document. Mỗi nút trong DOM là một nút con
(hoặc nút con cấp hai, ba…) của document. Mỗi phần tử HTML có một thuộc tính
ID. Mỗi một nút DOM có thể có một ID gán cho nó, và ID này có thể được dùng
để tham chiếu tới nút qua hàm : var hello=document.getElementById('hello'); Một
cách khác để tìm kiếm là dựa trên loại thẻ HTML, dùng phương thức
getElementsByTagName().
II.2.3 Tạo DOM Node
Trong nhiều trường hợp cần tạo các nút mới và thêm nó vào tài liệu. JavaScript
cung cấp một số phương thức để làm điều đó.
11
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
Các phương thức chuẩn để tạo nút mớilà document.createElement()
và document.createTextNode().createTextNode() tạo một nút thể hiện qua một
đoạn text, thường được tìm thấy trong các thẻ về heading, div, paragraph, và list
item. Một nút khi được tạo ra phải được gắn vào tài liệu trước khi hiển thị trên
trình duyệt, phương thức appendChild() được dùng để thực hiện điều này.
II.2.4 Thêm style vào tài liệu
DOM cũng cung cấp các phương thức để chỉnh sửa style.
Thuộc tính className
hello.className='declared';

(Start–tag) và kết thúc với một thẻ kết thúc (End–tag). Giữa Start–tag và End–tag
là nội dung của phần tử này. Nội dung có thể bao gồm dữ liệu văn bản hay có thể
là một phần tử khác.
II.3.1.4 XSLT - (eXtensible Style Language Transforming)
XSLT là một phần của XSL (eXtensible Style Language). XSL là một ngôn
ngữ nền tảng XML và ra đời với mục đích chuyển đổi một tài liệu XML thành một
tài liệu XML khác hay chuyển một tài liệu XML thành những đối tượng có thể thể
hiện được.
II.3.2 XMLHttpRequest
Các ứng dụng web truyền thống đều phải tái nạp toàn bộ trang web khi gửi
yêu cầu đến server, điều này thường dẫn đến một sự ngắt quãng cho công việc của
người dùng. Vì thế yêu cầu đặt ra là làm cho các request của server không đồng bộ
và người dùng vẫn có thể làm việc trong khi đợi tín hiệu trả lời từ server.
XMLHttpRequest đã được đưa ra như là một giải pháp mạnh mẽ và hiệu quả.
II.3.2.1 XmlDocument và XMLHttpRequest
Các đối tượng XmlDocument và XMLHttpRequest không phải là các chuẩn DOM
mở rộng của trình duyệt web nhưng vẫn được hỗ trợ bởi rất nhiều trình duyệt. Các
đối tượng đều dựa trên ActiveX hay các đối tượng JavaScript. Các trình duyệt
khác đều có thực thi các đối tượng trên có các chức năng tương đương và các lời
gọi hàm API.
II.3.2.2 Gửi một yêu cầu đến server
Gửi một yêu cầu đến server từ một đối tượng XMLHttpRequest rất dễ
dàng. Tất cả những việc ta cần làm là truyền cho nó địa chỉ URL của server.
II.3.2.3 Dùng các hàm callback để giám sát các yêu cầu
Các hàm callback đón bắt các sự kiện trong cách tiếp cận lập trình hướng
sự kiện trong hầu hết các bộ công cụ UI. Khi tạo các giao diện người dùng UI
bằng JavaScript, ta gán các hàm onkeypress, onmouseover, và đặt tên tương tự cho
các thuộc tính tương đương cho các đối tượng.
II.4 Lập trình bằng JavaScript phía client
JavaScript là một ngôn ngữ lập trình đa năng, nó là một ngôn ngữ có kiểu

của phương thức được triệu gọi (GET, POST, hay PUT) và địa chỉ URL của tài
nguyên được gọi.
void send(content): Phương thức này thực hiện gửi request tới server. Nếu
request được khai báo bất đồng bộ, kết quả được trả về ngay, còn không nó sẽ đợi
cho tới khi nhận được response từ server.
void setRequestHeader(string header, string value): Phương thức thiết lập giá
trị cho phần header đã cho trong HTTP request.
void abort(): Phương thức này rất dễ hiểu, nó sẽ hủy request.
string getAllResponseHeaders(): Trả về một biến kiểu string chứa response
header của HTTP request.
string getResponseHeader(string header): Phương thức này tương tự như
getAllResponseHeaders();
III.2.2 Sự tương tác
Ta xét một ví dụ để tìm hiểu các tương tác của Ajax. Hình sau cho thấy mô
hình tương tác chuẩn trong một ứng dụng Ajax.
15
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
Mô hình tương tác chuẩn Ajax
Quá trình tương tác:
1. Một event client-side gây ra một sự kiện - Ajax event. Bất kỳ một tác động
nào cũng có thể gây ra Ajax event, từ một sự kiện onchange đơn giản cho
đến một số tác động của người dùng.
2. Một thể hiện của XMLHttpRequest được tạo ra. Dùng phương thức open(),
tạo lời gọi hàm - địa chỉ URL được thiết lập cùng với phương thức HTTP
yêu cầu, thông thường là GET hay POST. Request được tạo ra qua việc gọi
phương thức send().
3. Một request được tạo và gửi đến server.
4. Server xử lí các yêu cầu
5. Response được trả về cho trình duyệt. Trường Content-Type được thiết lập

Một chuẩn mới được công bố: DOM Level 3 Load and Save Specification.
Đặc tả này được thiết kế như một platform độc lập với các ngôn ngữ để thay đối
nội dung một tài liệu DOM với XML.
III.5.2 DOM
DOM là một đặc tả của W3C cho một platform độc lập với ngôn ngữ lập
trình để truy cập và sửa đổi nội dung và cấu trúc của tài liệu. Một cách hiểu khác,
nó là một cách thông dụng để biểu diễn và thao tác một tài liệu HTML hay XML.
thiết kế của DOM dựa trên đặc tả của Object Management Group, cho phép sử
dụng với bất kỳ ngôn ngữ lập trình nào. DOM là một mô hình đối tượng trong ngữ
cảnh hướng đối tượng. DOM xác định các đối tượng cần thiết để biểu diễn và thay
đổi tài liệu, các hành V và thuộc tính của các đối tượng này, và mối liên hệ giữa
các đối tượng. Lợi thế của đặc tả DOM là nó cung cấp một chuẩn để tương tác với
tài liệu.
III.6 Kết luận
Trong chương này, chúng ta vừa xem xét các kỹ thuật cơ bản và là “trái
tim” của Ajax, đối tượng XMLHttpRequest.Với sự kết hợp giữa JavaScript và một
số thao tác DOM, Ajax cho phép một mức độ tương tác chưa từng có từ trước đến
nay. Với XMLHttpRequest ta không còn đợi quá trình tái nạp trang web và sự
đồng bộ với server nữa.
17
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
CHƯƠNG IV: Gửi các request và xử lý response
IV.1 Giao thức HTTP
Một HTTP message bắt đầu với một dòng request hay status, tiếp theo có
thể là nhiều loại headers và phần message body.
IV.1.1 Cấu trúc của HTTP Message
HTTP là một giao thức kiểu client/server; client đưa ra các request, và
server sẽ trả lời các request này. Cấu trúc các HTTP message vì thế cũng thay đổi
theo yếu tố này. Có một định dạng cho HTTP request và cho các response.

response, hoặc phần body kèm theo.
HTTP Status-Line bắt đầu với chỉ báo HTTP, mã trạng thái, và một đoạn
text mô tả response.
Hai mục còn lại trong Status-Line là Status-Code và Reason-Phrase. Status-
Code là một bộ ba kí tự chỉ báo kết quả của request. Status-Code phổ biến nhất là
200. Giá trị này thông báo yêu cầu của client thành công.
IV.1.2 Header Field
HTTP request và response có thể có một hay nhiều message header. Message
header bắt đầu với tên trường và dấu (“:”). Trong một số trường hợp, chỉ có tên
trường trong phần header. Trong hầu hết các trường hợp khác header chứa các
thêm thông tin khác nữa, các thông tin này đi sau dấu “:”. Một message header kết
thúc ở cuối dòng, nhưng nếu một client cần biểu diễn nhiều hơn một dòng thì dòng
tiếp theo sẽ bắt đầu với một hay nhiều kí tự trống hay kí tự gạch ngang.
IV.1.3 Status Code
Một phần rất quan trọng của HTTP response là mã trạng thái - status code. Mã này
xác định xem yêu cầu của client có được thực hiện thành công hay không và cung
cấp thêm thông tin về request. Mỗi giá trị status code là một số ba kí tự.
IV.2 Xử lí các response của server
XMLHttpRequest cung cấp hai thuộc tính để truy cập vào response của
server. Thuộc tính đầu tiên, responseText, chỉ đơn giản là cung cấp response dưới
dạng một biến string. Thuộc tính thứ hai, responseXML, cung cấp response dưới
dạng đối tượng XML. Truy cập response dưới dạng text đơn giản rất thuận lợi cho
các trường hợp sử dụng đơn giản, chẳng hạn như hiển thị response trong một alert
hay response là một cấu trúc đơn giản thông báo thành công hay bị lỗi.
IV.2.1 Dùng thuộc tính innerHTML để tạo nội dung động
Rất khó khăn khi dùng các response dạng text để tạo nội dung động cho các
trang web. Thuộc tính responseText trở nên hữu ích nếu ta dùng nó chung với
thuộc tính innerHTML của các phần tử HTML. Nó đơn giản là một xâu kí tự biểu
diễn nội dung giữa một thẻ mở và thẻ đóng. Bằng cách dùng kết hợp responseText
và innerHTML, server có thể đưa ra các đoạn mã HTML sẽ được hiển thị bởi các

giống như các câu truy vấn được gửi trong request body trong một POST request.
Server có thể đọc dữ liệu XML từ request body và làm việc với chúng.
IV.3.2 Gửi dữ liệu tới server bằng JSON
JSON là một chuẩn định dạng text độc lập với các ngôn ngữ, có thể dùng
tượng tự như các ngôn ngữ họ C như C, C#, JavaScript,…. JSON được xây dựng
theo hai cấu trúc dữ liệu hỗ trợ tất các ngôn ngữ lập trình hiện đại:
 Một tập các cặp name/value. Trong các ngôn ngữ hiện đại chúng được biết
dưới các kiểu object, record, hay dictionary.
 Một danh sách có thứ tự, như là một mảng.
IV.4 Kết luận
Trong chương này ta đã tìm hiểu một số cách mà XMLHttpRequest và
server có thể trao đổi dữ liệu với nhau. XMLHttpRequest có thể gửi request dùng
các phương thức HTTP GET hay POST, trong khi dữ liệu request có thể gửi qua
20
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
các câu truy vấn, XML hay dữ liệu JSON. Sau khi xử lí request, server trả lời bằng
các dữ liệu text đơn giản, dữ liệu XML hay thậm chí là dữ liệu JSON.
CHƯƠNG V: Xây dựng ứng dụng AddressBook
V.1 Giới thiệu
AddressBook là một ứng dụng web dùng để quản lý các danh bạ trực tuyến.
Ứng dụng này được xây dựng với PHP/MySQL được áp dụng AJAX.
V.2 Thiết kế các module trong ứng dụng
Ứng dụng AddressBook có các module chính sau:
 Module admin
 Module quản lý login/logout cho user
 Module quản lý danh mục
 Module quản lý nhóm
 Module quản lý danh sách mail
 Module quản lý các chức năng khác

có để tạo người dùng
 Vào địa chỉ http://localhost/AddressBook/ và sử dụng chương trình
V.4.3 Kết quả cài đặt ứng dụng trên Windows
V.5 Triển khai một ứng dụng không dùng AJAX
V.5.1 Giới thiệu và cài đặt ứng dụng SimpleAddressBook
Ứng dụng SimpleAddressBook dùng để quản lý thông tin các danh mục,
gồm tên địa chỉ, điện thoại… Đây là một ứng dụng rất đơn giản được viết bằng
PHP/MySQL.
Việc triển khai và thực thi ứng dụng này với WAMP Server rất dễ dàng.
22
Phạm Thị Thu Duyên- Lớp CT702
Tìm hiểu và xây dựng ứng dụng dựa trên công nghệ AJAX
VI.5.2 So sánh hai ứng dụng AddressBook và SimpleAddressBook
Chạy ứng dụng SimpleAddressBook trên localhost ta có kết quả sau:
Ta thấy khi thực thi một ứng dụng không dùng AJAX, mỗi khi chuyển một
tác vụ nào đó, chẳng hạn như thêm một danh mục vào danh bạ. Trang web sẽ được
nạp lại toàn bộ, xuất hiện thanh tiến trình của quá trình nạp. Trong khi việc thay
đổi các tác vụ trong ứng dụng AddressBook chỉ dẫn đến sự thay đổi ở phần của
trang web được thao tác. Ta không phải đợi cho việc nạp lại toàn bộ trang web.
Như vậy, có thể kết luận ưu điểm và sức mạnh của AJAX ở chỗ, nó không thao tác
đồng bộ với server theo cách truyền thống là cách nạp lại toàn bộ trang web mà nó
truyền dữ liệu theo kiểu bất đồng bộ, cho phép làm việc với từng phần của trang
web.
KẾT LUẬN
AJAX là một công nghệ mang tính đột phá và là công nghệ chủ chốt của
thế hệ Web 2.0. Với AJAX, không chỉ là vấn đề cải thiện tốc độ duyệt Web, mà
quan trọng hơn đó là việc xóa nhòa ranh giới giữa các ứng dụng Web và ứng dụng
Desktop.
Việc mô hình hóa theo hướng đối tượng (DOM) các trang web cho ta một
hướng tiếp cận và thao tác với từng phần của trang web với các ngôn ngữ script


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status