SlideShare a Scribd company logo
1 of 30
Download to read offline
BÀI 7
LÀM VIỆC VỚI THÀNH PHẦN MỚI VÀ PHẠM VI ỨNG
DỤNG CỦA HTML5
NHẮC LẠI BÀI TRƯỚC
Giới thiệu CSS3 Media Queries
Làm việc với CSS3 layout dạng nhiều cột (Multi-
columns) và cấu trúc hộp Flex (Flexboxes)
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 2
MỤC TIÊU BÀI HỌC
Làm việc với các thành phần mới trong HTML5:
Offline storage
Geolocation
Drag & drop
Giới thiệu sơ lược về ứng dụng HTML5 cho thiết bị
di động
Làm việc với các thành phần mới trong HTML5:
Offline storage
Geolocation
Drag & drop
Giới thiệu sơ lược về ứng dụng HTML5 cho thiết bị
di động
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 3
HTML5 OFFLINE STORAGE
OFFLINE STORAGE
Có 2 khả năng offline trong HTML5:
ứng dụng bộ nhớ đệm
Lưu trữ offline (lưu trữ phía máy khách): thu thập dữ
liệu được tạo ra bởi người dùng và nguồn dữ liệu của
người dùng quan tâm tới
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 5
OFFLINE STORAGE
Thành phần trong HTML5 storage
HTML5
storage
Kỹ thuật
lưu trữ
tại local
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 6
HTML5
storage
Giá trị từ
bộ nhớ
đệm
Tập tin
lưu trữ
Lưu trữ
CSDL SQL
OFFLINE STORAGE
Kiểu HTML5 storage:
sessionStorage: dữ liệu được lưu trữ chỉ kéo dài trong
thời gian trình duyệt sử dụng. Dữ liệu sẽ bị xóa khi
đóng trình duyệt
HTML5 storage
sessionStorage
Kiểu HTML5 storage:
sessionStorage: dữ liệu được lưu trữ chỉ kéo dài trong
thời gian trình duyệt sử dụng. Dữ liệu sẽ bị xóa khi
đóng trình duyệt
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 7
HTML5 storage
localStorage
OFFLINE STORAGE
localStorage:
• Là một phiên bản của sessionStorage
• Dữ liệu được lưu trữ trên máy tính cho đến khi được
loại bỏ bởi ứng dụng hay người dùng
• Sử dụng đối tượng localStorage trên các đối tượng
window global để truy cập tới HTML5 storage
localStorage:
• Là một phiên bản của sessionStorage
• Dữ liệu được lưu trữ trên máy tính cho đến khi được
loại bỏ bởi ứng dụng hay người dùng
• Sử dụng đối tượng localStorage trên các đối tượng
window global để truy cập tới HTML5 storage
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 8
Function supports_html5_storage() {
try{
return ‘localStorage’ in window && window
[‘localStorage’] != null;
}
catch (e) {
return false;
}
}
OFFLINE STORAGE
Phương thức localStorage:
Phương thức Định nghĩa
setItem(key, value) Lưu giá trị dưới tên khóa mới hoặc cập nhật giá trị
cho khóa hiện tại
getItem (key) Lấy giá trị cho tên khóa quan trọng
removeItem(key) Xóa một mục trong dữ liệu lưu trữ
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 9
removeItem(key) Xóa một mục trong dữ liệu lưu trữ
Clear() Xóa tất cả khóa/ giá trị trong dữ liệu lưu trữ cho
chương trình ứng dụng hiện hành
length Thuộc tính chỉ độc, sẽ trả lại giá trị số lượng key
cho dữ liệu lưu trữ
OFFLINE STORAGE
Ví dụ về localStorage
<head>
<style type="text/css">
#note{
width: 320px;
height: 200px;
background: LightYellow;
border: 1px dashed gray;
overflow-y: scroll;
padding: 4px;
font: normal gray 13px Arial;
}
</style>
</head>
<body onload="initialize()">
<section>
<div id="note" contenteditable="true">
(Enter some text, close your browser and
reload this page.)
</div>
<a href="#" onclick="reset_note();return
false">Reset Note</a>
</section>
</body>
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 10
<head>
<style type="text/css">
#note{
width: 320px;
height: 200px;
background: LightYellow;
border: 1px dashed gray;
overflow-y: scroll;
padding: 4px;
font: normal gray 13px Arial;
}
</style>
</head>
<body onload="initialize()">
<section>
<div id="note" contenteditable="true">
(Enter some text, close your browser and
reload this page.)
</div>
<a href="#" onclick="reset_note();return
false">Reset Note</a>
</section>
</body>
HTML5 GEOLOCATION
HTML5 GEOLOCATION
Geolocation API:
Phát hiện và hiển thị vị trí trình duyệt của người dùng
HTML5 mở rộng khả năng của javascript để bao gồm
cả Geolocation API
Nhận biết vị trí của người dùng:
HTML5 Geolocation API cho phép javascript yêu cầu
lấy vị trí địa lý của người dùng
Phần lớn những yêu cầu đều dựa trên đối tượng
navigator.geolocation, cụ thể là hàm
getCurrentPosition
Geolocation API:
Phát hiện và hiển thị vị trí trình duyệt của người dùng
HTML5 mở rộng khả năng của javascript để bao gồm
cả Geolocation API
Nhận biết vị trí của người dùng:
HTML5 Geolocation API cho phép javascript yêu cầu
lấy vị trí địa lý của người dùng
Phần lớn những yêu cầu đều dựa trên đối tượng
navigator.geolocation, cụ thể là hàm
getCurrentPosition
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 12
HTML5 GEOLOCATION
Đối tượng positionOptions:
Được sử dụng để thiết lập cấu hình cho hàm getCurrentPosition
Đối tượng này chứa tối ba thuộc tính:
• enableHighAccuracy
• getCurrentPosition
• Timeout
• maximumAge: cho phép thiết bị sử dụng thông tin ngày
(date) để nâng cao hiệu suất, nhưng độ chính xác không cao
Đối tượng positionOptions:
Được sử dụng để thiết lập cấu hình cho hàm getCurrentPosition
Đối tượng này chứa tối ba thuộc tính:
• enableHighAccuracy
• getCurrentPosition
• Timeout
• maximumAge: cho phép thiết bị sử dụng thông tin ngày
(date) để nâng cao hiệu suất, nhưng độ chính xác không cao
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 13
Thuộc tính Kiểu Mặc định Ghi chú
enableHighAccuracy Boolean false True
Timeout Long Mili giây ( một
phần nghìn giây)
maximumAge long 0 Mili giây
HTML5 GEOLOCATION
Hiển thị vị trí của người dùng trên Google Map:
Google cung cấp API mã nguồn mở cho Google Map
Google Maps API sử dụng tọa độ địa lý để tạo bản đồ
tương tác với từng vùng
Google Map sử dụng <div> trong HTML để trích xuất
trên bản đồ
Hiển thị vị trí của người dùng trên Google Map:
Google cung cấp API mã nguồn mở cho Google Map
Google Maps API sử dụng tọa độ địa lý để tạo bản đồ
tương tác với từng vùng
Google Map sử dụng <div> trong HTML để trích xuất
trên bản đồ
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 14
HTML5 GEOLOCATION
Sử dụng:
<script type="text/javascript"
src="http://maps.goo
gle.com/maps/api/js?sensor=
false">
</script>
<script type="text/javascript"
src="http://code.goo
gle.com/apis/gears/gears_init
.js">
</script>
<script type="text/javascript"
src="geo.js">
</script>
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 15
<script type="text/javascript"
src="http://maps.goo
gle.com/maps/api/js?sensor=
false">
</script>
<script type="text/javascript"
src="http://code.goo
gle.com/apis/gears/gears_init
.js">
</script>
<script type="text/javascript"
src="geo.js">
</script>
HTML5 GEOLOCATION
Tạo HTML5 Geolocation & Google Map:
Chèn Google Map vào trang bản đồ:
<body onload="initialize()" onunload="GUnload()">
<section id="wrapper">
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script>
<article>
<p>Finding your location: <span id="status">checking...</span></p>
</article>
<script type="text/javascript">
function initialize() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(show_location,
error_handler);
} else {
alert('Geolocation not supported in this browser.');
}
}
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 16
<body onload="initialize()" onunload="GUnload()">
<section id="wrapper">
<script type="text/javascript"
src="http://maps.google.com/maps/api/js?sensor=false"></script>
<article>
<p>Finding your location: <span id="status">checking...</span></p>
</article>
<script type="text/javascript">
function initialize() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(show_location,
error_handler);
} else {
alert('Geolocation not supported in this browser.');
}
}
HTML5 DRAG & DROP
HTML5 DRAG & DROP
Được xây dựng dựa vào sự thực hiện trên IE
API đã được tiêu chuẩn hóa
Drag-drop: là tính năng phổ biến
Kéo thả: hình ảnh, link, vùng lựa chọn chữ, …
Cơ chế thực hiện drag-drop:
Để thực hiện sự kiện kéo, thiết lập thuộc tính
draggable ='true'
Được xây dựng dựa vào sự thực hiện trên IE
API đã được tiêu chuẩn hóa
Drag-drop: là tính năng phổ biến
Kéo thả: hình ảnh, link, vùng lựa chọn chữ, …
Cơ chế thực hiện drag-drop:
Để thực hiện sự kiện kéo, thiết lập thuộc tính
draggable ='true'
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 18
<img draggable="true" />
HTML5 DRAG & DROP
Sau đó, xác định những sự kiện xảy ra khi thực hiện
drag (kéo):
• Ondragstart(): gọi một chức năng, sự kiện, xác định
những dữ liệu được kéo
• setData(): phương thức thiết lập các kiểu dữ liệu và giá
trị của dữ liệu được kéo
Sau đó, xác định những sự kiện xảy ra khi thực hiện
drag (kéo):
• Ondragstart(): gọi một chức năng, sự kiện, xác định
những dữ liệu được kéo
• setData(): phương thức thiết lập các kiểu dữ liệu và giá
trị của dữ liệu được kéo
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 19
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
HTML5 DRAG & DROP
Xác định vị trí thả (drop):
• Ondragover(): quy định cụ thể nơi dữ liệu được thả
• Theo mặc định, dữ liệu / các yếu tố không thể được
thả trong các yếu tố khác.
• Để cho phép thả, phải ngăn chặn việc xử lý mặc định
của phần tử.
• Điều này được thực hiện bằng cách gọi phương pháp
event.preventDefault () cho các sự kiện ondragover:
Xác định vị trí thả (drop):
• Ondragover(): quy định cụ thể nơi dữ liệu được thả
• Theo mặc định, dữ liệu / các yếu tố không thể được
thả trong các yếu tố khác.
• Để cho phép thả, phải ngăn chặn việc xử lý mặc định
của phần tử.
• Điều này được thực hiện bằng cách gọi phương pháp
event.preventDefault () cho các sự kiện ondragover:
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 20
function drag(ev)
{
ev.dataTransfer.setData("Text",ev.target.id);
}
event.preventDefault()
HTML5 DRAG & DROP
Thực hiện thả (drop):
• Ondrop(): gọi sự kiện thả
• preventDefault(): ngăn chặn xử lý mặc định dữ liệu của
trình duyệt (ví dụ: như liên kết trên thả)
• dataTransfer.getData (" "): lấy dữ liệu được drag.
Phương pháp này sẽ trả lại bất kỳ dữ liệu đã được thiết
lập để cùng loại trong setData ()
• Các dữ liệu được rê là id của các yếu tố drag ("drag1")
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
Thực hiện thả (drop):
• Ondrop(): gọi sự kiện thả
• preventDefault(): ngăn chặn xử lý mặc định dữ liệu của
trình duyệt (ví dụ: như liên kết trên thả)
• dataTransfer.getData (" "): lấy dữ liệu được drag.
Phương pháp này sẽ trả lại bất kỳ dữ liệu đã được thiết
lập để cùng loại trong setData ()
• Các dữ liệu được rê là id của các yếu tố drag ("drag1")
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 21
function drop(ev)
{
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));
}
HTML5 DRAG & DROP
Code demo:
<html>
<head>
<style type="text/css">
#div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script type="text/javascript">
function allowDrop(ev){
ev.preventDefault();}
function drag(ev){
ev.dataTransfer.setData("Text",ev.target.id);}
function drop(ev) {
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));}
</script>
</head>
<body>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<br />
<img id="drag1" src="i…" draggable="true" ondragstart="drag(event)” />
</body>
</html>
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 22
<html>
<head>
<style type="text/css">
#div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;}
</style>
<script type="text/javascript">
function allowDrop(ev){
ev.preventDefault();}
function drag(ev){
ev.dataTransfer.setData("Text",ev.target.id);}
function drop(ev) {
ev.preventDefault();
var data=ev.dataTransfer.getData("Text");
ev.target.appendChild(document.getElementById(data));}
</script>
</head>
<body>
<div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div>
<br />
<img id="drag1" src="i…" draggable="true" ondragstart="drag(event)” />
</body>
</html>
HTML5 DRAG & DROP
stopPropagation(): chặn một số đáp ứng (respond) sự kiện
này
preventDefault ():
ngăn chặn một số sự kiện mặc định trên trình duyệt
Là hàm gọi lại sự kiện, giá trị mặc định trả về: false
function preventDefault( event ){
event.stopPropagation();
event.preventDefault();
return false;
}
stopPropagation(): chặn một số đáp ứng (respond) sự kiện
này
preventDefault ():
ngăn chặn một số sự kiện mặc định trên trình duyệt
Là hàm gọi lại sự kiện, giá trị mặc định trả về: false
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 23
HTML5 DRAG & DROP
Trong một số trình duyệt, sự kiện dragover hiển thị
một biểu tượng tương tự như sự kiện dragenter, chỉ
ra vùng thả hợp lệ không hợp lệ
function setup(){
shoppingcart = document.getElementById('shoppingcart');
shoppingcart.ondragenter = preventDefault;
shoppingcart.ondragover = preventDefault;
shoppingcart.ondrop = dragDrop;
}
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 24
function setup(){
shoppingcart = document.getElementById('shoppingcart');
shoppingcart.ondragenter = preventDefault;
shoppingcart.ondragover = preventDefault;
shoppingcart.ondrop = dragDrop;
}
function dragStarted( event ){
dragging = event.target;
var dragImage = document.createElement('canvas');
var ctx = dragImage.getContext('2d');
ctx.drawImage(dragging,0,0);
ctx.font = 'bold 1.8em sans-serif';
ctx.fillText('$2', 30, 100);
event.dataTransfer.setDragImage(dragImage, 0, 0);
}
HTML5 DRAG & DROP
Xác định hàm dragDrop:
<div class="tile_list"
ondragstart="dragStarted(event)"> </div>
function dragDrop(event){
addToCart( dragging, 1 );
return preventDefault(event);
}
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 25
<div class="tile_list"
ondragstart="dragStarted(event)"> </div>
ỨNG DỤNG HTML5 CHO THIẾT BỊ DI
ĐỘNG
ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG
Sử dụng 2 thành phần của HTML5 khi phát triển các
ứng dụng cho di động:
Ứng dụng Web chạy Offline (Offline Web
Applications).
Công nghệ lưu trữ dữ liệu bên phía Client (Client-
side database storage).
Người dùng sử dụng chức năng của dịch vụ điện toán
đám mây (clouf functions) trên điện thoại, làm việc
offline với một ứng dụng đã được cài đặt trên máy
điện thoại, đồng thời sử dụng một cơ sở dữ liệu lưu
trữ ngay trên máy (local database), và có thể chia sẻ
dữ liệu với phần còn lại của dịch vụ điện toán đám
mây khi chương trình kết nối trở lại với mạng
Sử dụng 2 thành phần của HTML5 khi phát triển các
ứng dụng cho di động:
Ứng dụng Web chạy Offline (Offline Web
Applications).
Công nghệ lưu trữ dữ liệu bên phía Client (Client-
side database storage).
Người dùng sử dụng chức năng của dịch vụ điện toán
đám mây (clouf functions) trên điện thoại, làm việc
offline với một ứng dụng đã được cài đặt trên máy
điện thoại, đồng thời sử dụng một cơ sở dữ liệu lưu
trữ ngay trên máy (local database), và có thể chia sẻ
dữ liệu với phần còn lại của dịch vụ điện toán đám
mây khi chương trình kết nối trở lại với mạng
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 27
ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 28
ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG
Trang HTML
JavaScript: chứa các hàm điều khiển của ứng
dụng
Cascading Style Sheet: mô tả giao diện hiển thị
của trang HTML
Database: Công nghệ HTML5 chuẩn có hỗ trợ
công nghệ lưu trữ dữ liệu trên máy người dùng
(local database storage).
Manifest: File manifest là phần bắt buộc phải
triển khai cho ứng dụng Web chạy offline. Nó
chứa một danh sách những file cần thiết phải tải.
Trang HTML
JavaScript: chứa các hàm điều khiển của ứng
dụng
Cascading Style Sheet: mô tả giao diện hiển thị
của trang HTML
Database: Công nghệ HTML5 chuẩn có hỗ trợ
công nghệ lưu trữ dữ liệu trên máy người dùng
(local database storage).
Manifest: File manifest là phần bắt buộc phải
triển khai cho ứng dụng Web chạy offline. Nó
chứa một danh sách những file cần thiết phải tải.
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 29
TỔNG KẾT
Sử dụng localStorage: dữ liệu được lưu trên máy
tính cho đến khi loại bỏ bởi ứng dụng hay người
dùng
Google cung cấp API mã nguồn mở cho Google Map, sử
dụng <div> trong HTML giúp hiển thị vị trí của người
dùng trên bản đồ
Cơ chế thực hiện drag-drop:
Thiết lập thuộc tính drag cho thành phần: true
Xác định những sự kiện sẽ xảy ra khi thực hiện kéo
Xác định vị trí thả (drop)
Thực hiện thả
Sử dụng localStorage: dữ liệu được lưu trên máy
tính cho đến khi loại bỏ bởi ứng dụng hay người
dùng
Google cung cấp API mã nguồn mở cho Google Map, sử
dụng <div> trong HTML giúp hiển thị vị trí của người
dùng trên bản đồ
Cơ chế thực hiện drag-drop:
Thiết lập thuộc tính drag cho thành phần: true
Xác định những sự kiện sẽ xảy ra khi thực hiện kéo
Xác định vị trí thả (drop)
Thực hiện thả
Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 30

More Related Content

What's hot

Slide6 - Co ban HTML5
Slide6 - Co ban HTML5Slide6 - Co ban HTML5
Slide6 - Co ban HTML5Đặng Til
 
Slide4 - Co ban HTML5
Slide4 - Co ban HTML5Slide4 - Co ban HTML5
Slide4 - Co ban HTML5Đặng Til
 
Convert psd to html5
Convert psd to html5Convert psd to html5
Convert psd to html5Kim Hyun Hai
 
Slide5 - Co ban HTML5
Slide5 - Co ban HTML5Slide5 - Co ban HTML5
Slide5 - Co ban HTML5Đặng Til
 
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTMasterCode.vn
 
Slide1 - Co ban HTML5
Slide1 - Co ban HTML5Slide1 - Co ban HTML5
Slide1 - Co ban HTML5Đặng Til
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTMasterCode.vn
 
Slide 6 - Thiết kế Web cơ bản
Slide 6 - Thiết kế Web cơ bảnSlide 6 - Thiết kế Web cơ bản
Slide 6 - Thiết kế Web cơ bảnSống Khác
 
Ebook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoEbook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoTrung Thanh Nguyen
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopLương Bá Hợp
 
Slide 1 - Thiết kế Web cơ bản
 Slide 1 - Thiết kế Web cơ bản Slide 1 - Thiết kế Web cơ bản
Slide 1 - Thiết kế Web cơ bảnSống Khác
 
Slide3 - Co ban HTML5
Slide3 - Co ban HTML5Slide3 - Co ban HTML5
Slide3 - Co ban HTML5Đặng Til
 
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTBài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTMasterCode.vn
 

What's hot (18)

Slide6 - Co ban HTML5
Slide6 - Co ban HTML5Slide6 - Co ban HTML5
Slide6 - Co ban HTML5
 
Slide4 - Co ban HTML5
Slide4 - Co ban HTML5Slide4 - Co ban HTML5
Slide4 - Co ban HTML5
 
Convert psd to html5
Convert psd to html5Convert psd to html5
Convert psd to html5
 
Slide5 - Co ban HTML5
Slide5 - Co ban HTML5Slide5 - Co ban HTML5
Slide5 - Co ban HTML5
 
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPTBài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
Bài 7: Thư viện jQuery và thư viện jQuery UI - Giáo trình FPT
 
Slide1 - Co ban HTML5
Slide1 - Co ban HTML5Slide1 - Co ban HTML5
Slide1 - Co ban HTML5
 
Giao Trinh Jquery
Giao Trinh JqueryGiao Trinh Jquery
Giao Trinh Jquery
 
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPTBÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
BÀI 3 Làm việc với JAVASCRIPT và JQUERY - Giáo trình FPT
 
Slide2
Slide2Slide2
Slide2
 
Slide 6 - Thiết kế Web cơ bản
Slide 6 - Thiết kế Web cơ bảnSlide 6 - Thiết kế Web cơ bản
Slide 6 - Thiết kế Web cơ bản
 
Ebook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng caoEbook học Javascript cơ bản tới nâng cao
Ebook học Javascript cơ bản tới nâng cao
 
Html full
Html fullHtml full
Html full
 
Cắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshopCắt giao diện website từ file photoshop
Cắt giao diện website từ file photoshop
 
Slide 1 - Thiết kế Web cơ bản
 Slide 1 - Thiết kế Web cơ bản Slide 1 - Thiết kế Web cơ bản
Slide 1 - Thiết kế Web cơ bản
 
Slide3 - Co ban HTML5
Slide3 - Co ban HTML5Slide3 - Co ban HTML5
Slide3 - Co ban HTML5
 
Web2022 slide 1
Web2022   slide 1Web2022   slide 1
Web2022 slide 1
 
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPTBài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
Bài 1 XHTML: Cấu trúc nội dung web - Giáo trình FPT
 
Slide3
Slide3Slide3
Slide3
 

Similar to BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT

Javascript tong-hop a-z
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-zManhh Nguyễn
 
Slide2 - Co ban HTML5
Slide2 - Co ban HTML5Slide2 - Co ban HTML5
Slide2 - Co ban HTML5Đặng Til
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java scripthieusy
 
Session 08 Final
Session 08 FinalSession 08 Final
Session 08 FinalSamQuiDaiBo
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate FrameworkPhuoc Nguyen
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474Ham Chơi
 
Iphone programming
Iphone programmingIphone programming
Iphone programmingCoderseta Jp
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTMasterCode.vn
 

Similar to BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT (20)

Javascript tong-hop a-z
Javascript tong-hop a-zJavascript tong-hop a-z
Javascript tong-hop a-z
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
Slide2
Slide2Slide2
Slide2
 
Slide2 - Co ban HTML5
Slide2 - Co ban HTML5Slide2 - Co ban HTML5
Slide2 - Co ban HTML5
 
Giao trinh java script
Giao trinh java scriptGiao trinh java script
Giao trinh java script
 
Session 08 Final
Session 08 FinalSession 08 Final
Session 08 Final
 
Lab04 mapview
Lab04 mapviewLab04 mapview
Lab04 mapview
 
Jquery
JqueryJquery
Jquery
 
Yii
YiiYii
Yii
 
Introduction to Hibernate Framework
Introduction to Hibernate FrameworkIntroduction to Hibernate Framework
Introduction to Hibernate Framework
 
Bai4 basic jsp_4474
Bai4 basic jsp_4474Bai4 basic jsp_4474
Bai4 basic jsp_4474
 
Ch06
Ch06Ch06
Ch06
 
Iphone programming
Iphone programmingIphone programming
Iphone programming
 
Asp.net 3.5 _7
Asp.net 3.5 _7Asp.net 3.5 _7
Asp.net 3.5 _7
 
Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1Giới thiệu Yii Framework 1
Giới thiệu Yii Framework 1
 
Bài 6: Working with DATA
Bài 6: Working with DATABài 6: Working with DATA
Bài 6: Working with DATA
 
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPTBÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
BÀI 3 Thiết kế web cho di động với dreamweaver CS5 & Jquery - Giáo trình FPT
 
Slide1 html5
Slide1 html5Slide1 html5
Slide1 html5
 
Slide1
Slide1Slide1
Slide1
 
Slide1
Slide1Slide1
Slide1
 

More from MasterCode.vn

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnMasterCode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnMasterCode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnMasterCode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnMasterCode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnMasterCode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnMasterCode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnMasterCode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnMasterCode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnMasterCode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnMasterCode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnMasterCode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnMasterCode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vnMasterCode.vn
 

More from MasterCode.vn (20)

Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vnPd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
Pd ftai lieu-tieng-anh-cho-nguoi-moi-bat-dau-mastercode.vn
 
Why apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vnWhy apps-succeed-wpr-mastercode.vn
Why apps-succeed-wpr-mastercode.vn
 
Dzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vnDzone performancemonitoring2016-mastercode.vn
Dzone performancemonitoring2016-mastercode.vn
 
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vnGoogle công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
Google công bố thông tin lịch xu hướng ngành 2017 mastercode.vn
 
Nghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vnNghiên cứu về khách hàng mastercode.vn
Nghiên cứu về khách hàng mastercode.vn
 
Lập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vnLập trình sáng tạo creative computing textbook mastercode.vn
Lập trình sáng tạo creative computing textbook mastercode.vn
 
Pd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vnPd fbuoi7 8--tongquanseo-mastercode.vn
Pd fbuoi7 8--tongquanseo-mastercode.vn
 
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vnPd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
Pd fbuoi5 6-ảnh hưởng của social media tới kết quả seo-mastercode.vn
 
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vnPdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
Pdf buoi3 4-link-building-tran-ngoc-chinh-mastercode.vn
 
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vnPd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
Pd fbuoi3 4-kỹ thuật xây dựng back link-mastercode.vn
 
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vnPd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
Pd fbuoi2 onpage – tối ưu hóa trang web-mastercode.vn
 
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vnPd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
Pd fbuoi1 giới thiệu seo tools cơ bản-seo manager + seo guy-mastercode.vn
 
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vnPdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
Pdf buoi1 2-on-page-tran-ngoc-chinh-mastercode.vn
 
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vnPdfbài 7 máy tính xác tay và máy in   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 7 máy tính xác tay và máy in bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vnPdfbài 6 bảo trì máy tính   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 6 bảo trì máy tính bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vnPdfbài 5 bảo trì và tối ưu windows   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 5 bảo trì và tối ưu windows bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vnPdfbài 4 ổ cứng hard drive   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 4 ổ cứng hard drive bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vnPdfbài 3 cpu và ram   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 3 cpu và ram bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vnPdfbài 1 giới thiệu chung về phần cứng   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 1 giới thiệu chung về phần cứng bảo trì sự cố máy tính-mastercode.vn
 
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vnPdfbài 2 bo mạch chủ (main)   bảo trì sự cố máy tính-mastercode.vn
Pdfbài 2 bo mạch chủ (main) bảo trì sự cố máy tính-mastercode.vn
 

BÀI 7 Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 - Giáo trình FPT

  • 1. BÀI 7 LÀM VIỆC VỚI THÀNH PHẦN MỚI VÀ PHẠM VI ỨNG DỤNG CỦA HTML5
  • 2. NHẮC LẠI BÀI TRƯỚC Giới thiệu CSS3 Media Queries Làm việc với CSS3 layout dạng nhiều cột (Multi- columns) và cấu trúc hộp Flex (Flexboxes) Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 2
  • 3. MỤC TIÊU BÀI HỌC Làm việc với các thành phần mới trong HTML5: Offline storage Geolocation Drag & drop Giới thiệu sơ lược về ứng dụng HTML5 cho thiết bị di động Làm việc với các thành phần mới trong HTML5: Offline storage Geolocation Drag & drop Giới thiệu sơ lược về ứng dụng HTML5 cho thiết bị di động Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 3
  • 5. OFFLINE STORAGE Có 2 khả năng offline trong HTML5: ứng dụng bộ nhớ đệm Lưu trữ offline (lưu trữ phía máy khách): thu thập dữ liệu được tạo ra bởi người dùng và nguồn dữ liệu của người dùng quan tâm tới Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 5
  • 6. OFFLINE STORAGE Thành phần trong HTML5 storage HTML5 storage Kỹ thuật lưu trữ tại local Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 6 HTML5 storage Giá trị từ bộ nhớ đệm Tập tin lưu trữ Lưu trữ CSDL SQL
  • 7. OFFLINE STORAGE Kiểu HTML5 storage: sessionStorage: dữ liệu được lưu trữ chỉ kéo dài trong thời gian trình duyệt sử dụng. Dữ liệu sẽ bị xóa khi đóng trình duyệt HTML5 storage sessionStorage Kiểu HTML5 storage: sessionStorage: dữ liệu được lưu trữ chỉ kéo dài trong thời gian trình duyệt sử dụng. Dữ liệu sẽ bị xóa khi đóng trình duyệt Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 7 HTML5 storage localStorage
  • 8. OFFLINE STORAGE localStorage: • Là một phiên bản của sessionStorage • Dữ liệu được lưu trữ trên máy tính cho đến khi được loại bỏ bởi ứng dụng hay người dùng • Sử dụng đối tượng localStorage trên các đối tượng window global để truy cập tới HTML5 storage localStorage: • Là một phiên bản của sessionStorage • Dữ liệu được lưu trữ trên máy tính cho đến khi được loại bỏ bởi ứng dụng hay người dùng • Sử dụng đối tượng localStorage trên các đối tượng window global để truy cập tới HTML5 storage Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 8 Function supports_html5_storage() { try{ return ‘localStorage’ in window && window [‘localStorage’] != null; } catch (e) { return false; } }
  • 9. OFFLINE STORAGE Phương thức localStorage: Phương thức Định nghĩa setItem(key, value) Lưu giá trị dưới tên khóa mới hoặc cập nhật giá trị cho khóa hiện tại getItem (key) Lấy giá trị cho tên khóa quan trọng removeItem(key) Xóa một mục trong dữ liệu lưu trữ Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 9 removeItem(key) Xóa một mục trong dữ liệu lưu trữ Clear() Xóa tất cả khóa/ giá trị trong dữ liệu lưu trữ cho chương trình ứng dụng hiện hành length Thuộc tính chỉ độc, sẽ trả lại giá trị số lượng key cho dữ liệu lưu trữ
  • 10. OFFLINE STORAGE Ví dụ về localStorage <head> <style type="text/css"> #note{ width: 320px; height: 200px; background: LightYellow; border: 1px dashed gray; overflow-y: scroll; padding: 4px; font: normal gray 13px Arial; } </style> </head> <body onload="initialize()"> <section> <div id="note" contenteditable="true"> (Enter some text, close your browser and reload this page.) </div> <a href="#" onclick="reset_note();return false">Reset Note</a> </section> </body> Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 10 <head> <style type="text/css"> #note{ width: 320px; height: 200px; background: LightYellow; border: 1px dashed gray; overflow-y: scroll; padding: 4px; font: normal gray 13px Arial; } </style> </head> <body onload="initialize()"> <section> <div id="note" contenteditable="true"> (Enter some text, close your browser and reload this page.) </div> <a href="#" onclick="reset_note();return false">Reset Note</a> </section> </body>
  • 12. HTML5 GEOLOCATION Geolocation API: Phát hiện và hiển thị vị trí trình duyệt của người dùng HTML5 mở rộng khả năng của javascript để bao gồm cả Geolocation API Nhận biết vị trí của người dùng: HTML5 Geolocation API cho phép javascript yêu cầu lấy vị trí địa lý của người dùng Phần lớn những yêu cầu đều dựa trên đối tượng navigator.geolocation, cụ thể là hàm getCurrentPosition Geolocation API: Phát hiện và hiển thị vị trí trình duyệt của người dùng HTML5 mở rộng khả năng của javascript để bao gồm cả Geolocation API Nhận biết vị trí của người dùng: HTML5 Geolocation API cho phép javascript yêu cầu lấy vị trí địa lý của người dùng Phần lớn những yêu cầu đều dựa trên đối tượng navigator.geolocation, cụ thể là hàm getCurrentPosition Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 12
  • 13. HTML5 GEOLOCATION Đối tượng positionOptions: Được sử dụng để thiết lập cấu hình cho hàm getCurrentPosition Đối tượng này chứa tối ba thuộc tính: • enableHighAccuracy • getCurrentPosition • Timeout • maximumAge: cho phép thiết bị sử dụng thông tin ngày (date) để nâng cao hiệu suất, nhưng độ chính xác không cao Đối tượng positionOptions: Được sử dụng để thiết lập cấu hình cho hàm getCurrentPosition Đối tượng này chứa tối ba thuộc tính: • enableHighAccuracy • getCurrentPosition • Timeout • maximumAge: cho phép thiết bị sử dụng thông tin ngày (date) để nâng cao hiệu suất, nhưng độ chính xác không cao Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 13 Thuộc tính Kiểu Mặc định Ghi chú enableHighAccuracy Boolean false True Timeout Long Mili giây ( một phần nghìn giây) maximumAge long 0 Mili giây
  • 14. HTML5 GEOLOCATION Hiển thị vị trí của người dùng trên Google Map: Google cung cấp API mã nguồn mở cho Google Map Google Maps API sử dụng tọa độ địa lý để tạo bản đồ tương tác với từng vùng Google Map sử dụng <div> trong HTML để trích xuất trên bản đồ Hiển thị vị trí của người dùng trên Google Map: Google cung cấp API mã nguồn mở cho Google Map Google Maps API sử dụng tọa độ địa lý để tạo bản đồ tương tác với từng vùng Google Map sử dụng <div> trong HTML để trích xuất trên bản đồ Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 14
  • 15. HTML5 GEOLOCATION Sử dụng: <script type="text/javascript" src="http://maps.goo gle.com/maps/api/js?sensor= false"> </script> <script type="text/javascript" src="http://code.goo gle.com/apis/gears/gears_init .js"> </script> <script type="text/javascript" src="geo.js"> </script> Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 15 <script type="text/javascript" src="http://maps.goo gle.com/maps/api/js?sensor= false"> </script> <script type="text/javascript" src="http://code.goo gle.com/apis/gears/gears_init .js"> </script> <script type="text/javascript" src="geo.js"> </script>
  • 16. HTML5 GEOLOCATION Tạo HTML5 Geolocation & Google Map: Chèn Google Map vào trang bản đồ: <body onload="initialize()" onunload="GUnload()"> <section id="wrapper"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <article> <p>Finding your location: <span id="status">checking...</span></p> </article> <script type="text/javascript"> function initialize() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(show_location, error_handler); } else { alert('Geolocation not supported in this browser.'); } } Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 16 <body onload="initialize()" onunload="GUnload()"> <section id="wrapper"> <script type="text/javascript" src="http://maps.google.com/maps/api/js?sensor=false"></script> <article> <p>Finding your location: <span id="status">checking...</span></p> </article> <script type="text/javascript"> function initialize() { if (navigator.geolocation) { navigator.geolocation.getCurrentPosition(show_location, error_handler); } else { alert('Geolocation not supported in this browser.'); } }
  • 17. HTML5 DRAG & DROP
  • 18. HTML5 DRAG & DROP Được xây dựng dựa vào sự thực hiện trên IE API đã được tiêu chuẩn hóa Drag-drop: là tính năng phổ biến Kéo thả: hình ảnh, link, vùng lựa chọn chữ, … Cơ chế thực hiện drag-drop: Để thực hiện sự kiện kéo, thiết lập thuộc tính draggable ='true' Được xây dựng dựa vào sự thực hiện trên IE API đã được tiêu chuẩn hóa Drag-drop: là tính năng phổ biến Kéo thả: hình ảnh, link, vùng lựa chọn chữ, … Cơ chế thực hiện drag-drop: Để thực hiện sự kiện kéo, thiết lập thuộc tính draggable ='true' Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 18 <img draggable="true" />
  • 19. HTML5 DRAG & DROP Sau đó, xác định những sự kiện xảy ra khi thực hiện drag (kéo): • Ondragstart(): gọi một chức năng, sự kiện, xác định những dữ liệu được kéo • setData(): phương thức thiết lập các kiểu dữ liệu và giá trị của dữ liệu được kéo Sau đó, xác định những sự kiện xảy ra khi thực hiện drag (kéo): • Ondragstart(): gọi một chức năng, sự kiện, xác định những dữ liệu được kéo • setData(): phương thức thiết lập các kiểu dữ liệu và giá trị của dữ liệu được kéo Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 19 function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); }
  • 20. HTML5 DRAG & DROP Xác định vị trí thả (drop): • Ondragover(): quy định cụ thể nơi dữ liệu được thả • Theo mặc định, dữ liệu / các yếu tố không thể được thả trong các yếu tố khác. • Để cho phép thả, phải ngăn chặn việc xử lý mặc định của phần tử. • Điều này được thực hiện bằng cách gọi phương pháp event.preventDefault () cho các sự kiện ondragover: Xác định vị trí thả (drop): • Ondragover(): quy định cụ thể nơi dữ liệu được thả • Theo mặc định, dữ liệu / các yếu tố không thể được thả trong các yếu tố khác. • Để cho phép thả, phải ngăn chặn việc xử lý mặc định của phần tử. • Điều này được thực hiện bằng cách gọi phương pháp event.preventDefault () cho các sự kiện ondragover: Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 20 function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); } event.preventDefault()
  • 21. HTML5 DRAG & DROP Thực hiện thả (drop): • Ondrop(): gọi sự kiện thả • preventDefault(): ngăn chặn xử lý mặc định dữ liệu của trình duyệt (ví dụ: như liên kết trên thả) • dataTransfer.getData (" "): lấy dữ liệu được drag. Phương pháp này sẽ trả lại bất kỳ dữ liệu đã được thiết lập để cùng loại trong setData () • Các dữ liệu được rê là id của các yếu tố drag ("drag1") function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); } Thực hiện thả (drop): • Ondrop(): gọi sự kiện thả • preventDefault(): ngăn chặn xử lý mặc định dữ liệu của trình duyệt (ví dụ: như liên kết trên thả) • dataTransfer.getData (" "): lấy dữ liệu được drag. Phương pháp này sẽ trả lại bất kỳ dữ liệu đã được thiết lập để cùng loại trong setData () • Các dữ liệu được rê là id của các yếu tố drag ("drag1") Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 21 function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); }
  • 22. HTML5 DRAG & DROP Code demo: <html> <head> <style type="text/css"> #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;} </style> <script type="text/javascript"> function allowDrop(ev){ ev.preventDefault();} function drag(ev){ ev.dataTransfer.setData("Text",ev.target.id);} function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data));} </script> </head> <body> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br /> <img id="drag1" src="i…" draggable="true" ondragstart="drag(event)” /> </body> </html> Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 22 <html> <head> <style type="text/css"> #div1 {width:350px;height:70px;padding:10px;border:1px solid #aaaaaa;} </style> <script type="text/javascript"> function allowDrop(ev){ ev.preventDefault();} function drag(ev){ ev.dataTransfer.setData("Text",ev.target.id);} function drop(ev) { ev.preventDefault(); var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data));} </script> </head> <body> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br /> <img id="drag1" src="i…" draggable="true" ondragstart="drag(event)” /> </body> </html>
  • 23. HTML5 DRAG & DROP stopPropagation(): chặn một số đáp ứng (respond) sự kiện này preventDefault (): ngăn chặn một số sự kiện mặc định trên trình duyệt Là hàm gọi lại sự kiện, giá trị mặc định trả về: false function preventDefault( event ){ event.stopPropagation(); event.preventDefault(); return false; } stopPropagation(): chặn một số đáp ứng (respond) sự kiện này preventDefault (): ngăn chặn một số sự kiện mặc định trên trình duyệt Là hàm gọi lại sự kiện, giá trị mặc định trả về: false Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 23
  • 24. HTML5 DRAG & DROP Trong một số trình duyệt, sự kiện dragover hiển thị một biểu tượng tương tự như sự kiện dragenter, chỉ ra vùng thả hợp lệ không hợp lệ function setup(){ shoppingcart = document.getElementById('shoppingcart'); shoppingcart.ondragenter = preventDefault; shoppingcart.ondragover = preventDefault; shoppingcart.ondrop = dragDrop; } Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 24 function setup(){ shoppingcart = document.getElementById('shoppingcart'); shoppingcart.ondragenter = preventDefault; shoppingcart.ondragover = preventDefault; shoppingcart.ondrop = dragDrop; } function dragStarted( event ){ dragging = event.target; var dragImage = document.createElement('canvas'); var ctx = dragImage.getContext('2d'); ctx.drawImage(dragging,0,0); ctx.font = 'bold 1.8em sans-serif'; ctx.fillText('$2', 30, 100); event.dataTransfer.setDragImage(dragImage, 0, 0); }
  • 25. HTML5 DRAG & DROP Xác định hàm dragDrop: <div class="tile_list" ondragstart="dragStarted(event)"> </div> function dragDrop(event){ addToCart( dragging, 1 ); return preventDefault(event); } Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 25 <div class="tile_list" ondragstart="dragStarted(event)"> </div>
  • 26. ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG
  • 27. ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG Sử dụng 2 thành phần của HTML5 khi phát triển các ứng dụng cho di động: Ứng dụng Web chạy Offline (Offline Web Applications). Công nghệ lưu trữ dữ liệu bên phía Client (Client- side database storage). Người dùng sử dụng chức năng của dịch vụ điện toán đám mây (clouf functions) trên điện thoại, làm việc offline với một ứng dụng đã được cài đặt trên máy điện thoại, đồng thời sử dụng một cơ sở dữ liệu lưu trữ ngay trên máy (local database), và có thể chia sẻ dữ liệu với phần còn lại của dịch vụ điện toán đám mây khi chương trình kết nối trở lại với mạng Sử dụng 2 thành phần của HTML5 khi phát triển các ứng dụng cho di động: Ứng dụng Web chạy Offline (Offline Web Applications). Công nghệ lưu trữ dữ liệu bên phía Client (Client- side database storage). Người dùng sử dụng chức năng của dịch vụ điện toán đám mây (clouf functions) trên điện thoại, làm việc offline với một ứng dụng đã được cài đặt trên máy điện thoại, đồng thời sử dụng một cơ sở dữ liệu lưu trữ ngay trên máy (local database), và có thể chia sẻ dữ liệu với phần còn lại của dịch vụ điện toán đám mây khi chương trình kết nối trở lại với mạng Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 27
  • 28. ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 28
  • 29. ỨNG DỤNG HTML5 CHO THIẾT BỊ DI ĐỘNG Trang HTML JavaScript: chứa các hàm điều khiển của ứng dụng Cascading Style Sheet: mô tả giao diện hiển thị của trang HTML Database: Công nghệ HTML5 chuẩn có hỗ trợ công nghệ lưu trữ dữ liệu trên máy người dùng (local database storage). Manifest: File manifest là phần bắt buộc phải triển khai cho ứng dụng Web chạy offline. Nó chứa một danh sách những file cần thiết phải tải. Trang HTML JavaScript: chứa các hàm điều khiển của ứng dụng Cascading Style Sheet: mô tả giao diện hiển thị của trang HTML Database: Công nghệ HTML5 chuẩn có hỗ trợ công nghệ lưu trữ dữ liệu trên máy người dùng (local database storage). Manifest: File manifest là phần bắt buộc phải triển khai cho ứng dụng Web chạy offline. Nó chứa một danh sách những file cần thiết phải tải. Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 29
  • 30. TỔNG KẾT Sử dụng localStorage: dữ liệu được lưu trên máy tính cho đến khi loại bỏ bởi ứng dụng hay người dùng Google cung cấp API mã nguồn mở cho Google Map, sử dụng <div> trong HTML giúp hiển thị vị trí của người dùng trên bản đồ Cơ chế thực hiện drag-drop: Thiết lập thuộc tính drag cho thành phần: true Xác định những sự kiện sẽ xảy ra khi thực hiện kéo Xác định vị trí thả (drop) Thực hiện thả Sử dụng localStorage: dữ liệu được lưu trên máy tính cho đến khi loại bỏ bởi ứng dụng hay người dùng Google cung cấp API mã nguồn mở cho Google Map, sử dụng <div> trong HTML giúp hiển thị vị trí của người dùng trên bản đồ Cơ chế thực hiện drag-drop: Thiết lập thuộc tính drag cho thành phần: true Xác định những sự kiện sẽ xảy ra khi thực hiện kéo Xác định vị trí thả (drop) Thực hiện thả Slide 7 - Làm việc với thành phần mới và phạm vi ứng dụng của HTML5 30