text:
API là gì?
Một giao diện lập trình ứng dụng (API - Application Programming Interface) là một tập các lệnh và các tiêu chuẩn lập trình để truy cập ứng dụng phần mềm. Với API, bạn có thể thiết kế các sản phẩm được hỗ trợ bởi dịch vụ mà API cung cấp.
HTML5 có một số API mới. Ví dụ:
- Một API vẽ 2D được dùng với phần tử canvas mới để biểu diễn các biểu đồ hoặc hình ảnh trực quan khác.
- Một cơ cấu bộ nhớ đệm API để hỗ trợ các ứng dụng web không nối mạng.
- Một API để phát video và âm thanh được dùng với các phần tử video và âm thanh mới.
- Một history API giúp dễ dàng truy cập lịch sử duyệt web và cho phép các trang web thêm vào nó.
- Một API kéo-và-thả để sử dụng với các thuộc tính
draggable(có khả năng kéo).
- Một API chỉnh sửa để sử dụng với thuộc tính
contenteditable(có khả năng chỉnh sửa nội dung).
- Lưu trữ phía máy khách với các API JavaScript cho các cặp giá trị-khóa và các cơ sở dữ liệu SQL nhúng.
Bài viết này tập trung vào hai API: Geolocation (Định vị địa lý) và Web Worker (Trình làm việc trên nền Web). Đầu tiên, bài viết phân tích chính các API đó, sau đó bạn sẽ thử tạo một trang có chứa cả hai API này.
Kinh doanh ở khắp mọi nơi: Định vị địa lý
Bạn sử dụng Geolocation API (API Định vị địa lý) để xác định và chia sẻ các vị trí địa lý. API này trả về các tọa độ kinh độ và vĩ độ — thông tin mà các doanh nghiệp có thể sử dụng để cung cấp dịch vụ trong vùng gần đúng tọa độ. Những dịch vụ này thường được gọi là các dịch vụ dựa vào vị trí (LBS - Location-Based Services).
LBS đề cập đến các nguồn dữ liệu địa lý được dùng để xác định vị trí vật lý của thiết bị đang được theo dõi và, do đó, con người có liên quan đến vị trí đó. Chức năng này cung cấp cho các bên quan tâm cơ hội để tương tác với cá nhân đó dựa vào thị trường với một số điểm trung tâm-định vị địa lý quan tâm.
Kinh doanh thực sự liên quan đến việc tạo ra chất lượng, tiện ích, và giá trị cho các khách hàng, trong khi đồng thời tạo ra lợi ích kinh tế và tài chính cho các bên liên quan, các chủ nợ, các cổ đông, các nhân viên, và các nhà cung cấp. LBS có hỗ trợ - Định vị địa lý giúp việc bám sát và theo dõi một gói bưu kiện hay một người dễ dàng hơn khi sử dụng một thiết bị không có trình duyệt hoặc có trình duyệt. Về thương mại, việc định vị địa lý có liên quan đến tất cả việc sử dụng các tài sản địa lý để xác định nơi một người nào đó hoặc một cái gì đó có ở vị trí đó, rồi bán tập thông tin cụ thể đó cho bất kỳ ai muốn sử dụng nó cho các mục đích xã hội, thương mại, hoặc các mục đích khác, dựa vào sự cho phép hợp pháp từ chủ sở hữu thông tin để làm như vậy.
Định vị địa lý hoạt động như thế nào
Geolocation API (API Định vị địa lý) được dựa vào một đặc tính của đối
tượng
navigator chung:
navigator.geolocation. Đối tượng JavaScript
navigator cung cấp thông tin có ích về trình
duyệt và hệ thống của khách truy cập. Việc định vị địa lý có thể xác định
vĩ độ và kinh độ bằng các địa chỉ IP, cơ sở dữ liệu dựa trên-web, các kết
nối mạng không dây, và công nghệ phép đo tam giác hoặc GPS (Hệ thống định
vị toàn cầu). Cần lưu ý rằng độ chính xác của thông tin định vị địa lý
được cung cấp khác nhau dựa trên các phương tiện thu nhận thông tin. Đôi
khi, và ở một số địa điểm, bạn có thể không có khả năng nhận được một kết
quả định vị đầy đủ hoặc bất kỳ dữ liệu nào.
Các kịch bản lệnh có thể sử dụng đối tượng
navigator.geolocation để xác định thông tin vị
trí liên quan đến thiết bị lưu trữ của người dùng. Sau khi lấy ra thông
tin vị trí, hãy tạo một đối tượng vị trí và đặt nó chung với dữ liệu.
Đối tượng
navigator.geolocation có ba phương
thức:
getCurrentPosition()
watchPosition()
clearWatch()
Phương thức getCurrentPosition()
Phương thức
getCurrentPosition() lấy ra vị trí hiện tại
của người dùng, nhưng chỉ một lần. Khi được một kịch bản lệnh gọi, phương thức này
cố gắng thu nhận vị trí hiện tại của thiết bị lưu trữ theo cách không đồng bộ.
Truyền thông không đồng bộ có nghĩa là người gửi và người nhận không
đồng thời được tham gia vào truyền thông. Sử dụng truyền thông không đồng bộ cho
phép trình duyệt tiếp tục các hoạt động khác sao cho nó không phải chờ đợi một phản
hồi từ thực thể đang thu nhận.
Phương thức
getCurrentPosition() có thể có đến
ba đối số:
geolocationSuccess. Gọi lại với vị trí hiện tại (bắt buộc)
geolocationError. Gọi lại nếu có một lỗi (tùy chọn)
geolocationOptions. Các tùy chọn định vị địa lý (tùy chọn)
Phương thức
navigator.geolocation.getCurrentPositon() trả
về vị trí hiện tại của thiết bị lưu trữ theo cuộc gọi lại
geolocationSuccess với một đối tượng
Position
làm tham số. Nếu có lỗi, hàm
geolocationError được gọi ra
với một đối tượng
PositionError. Bạn có thể thiết lập ba
đặc tính cho
geolocationOptions:
enableHighAccuracy,
timeout, và
maximumAge. Các đặc tính tùy chọn này có khả năng chính xác
cao, nếu thiết bị hỗ trợ, tương ứng là, một khoảng thời gian chờ để trả về một vị
trí, và một khoảng thời gian tối đa để có thể sử dụng một vị trí đã lưu trữ.
Phương thức
getCurrentPosition() được gọi như
được hiển thị dưới đây:
void navigator.geolocation.getCurrentPosition( geolocationSuccess, geolocationError, geolocationOptions);
Phương thức watchPosition()
Phương thức
watchPosition() thăm dò vị trí người
dùng một cách thường xuyên, theo dõi để xem liệu vị trí người dùng đã thay
đổi chưa. Nó có thể có đến ba đối số.
Khi
watchPosition được gọi, nó bắt đầu một quá trình theo
dõi không đồng bộ liên quan đến việc thu nhận một đối tượng
Position mới và tạo
watchID. Nếu việc thu
nhận này thành công,
geolocationSuccess liên quan tới một
đối tượng
Position làm đối số được gọi ra. Dựa vào lỗi
liên quan đến một phương thức được gọi ra với một đối số
geolocationError khác không, phương thức này tạo
geolocationError với một đối tượng
PositionError làm đối số. Khi vị trí thiết bị thay đổi, một lời gọi lại
thích hợp với đối tượng
Position mới được gọi ra.
Phương thức
watchPosition() được gọi như được
hiển thị dưới đây:
long navigator.geolocation.watchPosition( geolocationSuccess, geolocationError, geolocationOptions);
Phương thức clearWatch()
Phương thức
clearWatch() có tác dụng kết thúc một phương
thức
watchPosition() đang diễn ra. Phương thức này có thể
chỉ có một đối số. Khi được gọi, nó tìm đối số
watchID đã
khởi động trước đây và ngưng ngay nó lại.
Phương thức
clearWatch() được gọi như được hiển
thị dưới đây:
void navigator.geolocation.clearWatch(watchID)
Dữ liệu định vị địa lý: Đối tượng Position
Geolocation API trả về một đối tượng
Position
(vị trí địa lý). Đối tượng này có hai đặc tính:
timestamp và
coords. Đặc tính
timestamp (dấu thời gian) cho biết thời điểm tạo
ra dữ liệu định vị địa lý. Đặc tính
coords (các
tọa độ) có bảy thuộc tính:
coords.latitude. Vĩ độ ước tính
oords.longitude. Kinh độ ước tính
coords.altitude. Độ cao ước tính
coords.accuracy. Độ chính xác của vĩ độ và kinh độ được cung cấp ước tính theo mét
coords.altitudeAccuracy. Độ chính xác của độ cao được cung cấp ước tính theo mét
coords.heading. Hướng di chuyển hiện tại đối với thiết bị đang lưu trữ trên máy chủ theo độ, tính theo chiều kim đồng hồ liên quan đến cực Bắc thực
coords.speed. Tốc độ dưới đất hiện tại của thiết bị theo mét/giây
Chỉ có ba trong số các thuộc tính được bảo đảm là:
coords.latitude,
coords.longitude, và
coords.accuracy. Các thuộc tính còn lại trả về
null (không), tùy thuộc vào các khả năng của
thiết bị của bạn và máy chủ định vị tầng sau mà nó trao đổi. Các thuộc
tính
heading và
speed (tốc độ) được tính toán dựa trên vị trí
trước đó của người dùng, nếu có thể.
Các trình làm việc trên nền web đến giải cứu
Web workers (Các trình làm việc trên nền web) khắc phục các vấn đề gây ra bởi tính đồng thời. Web workers là câu trả lời của họ HTML5 cho vấn đề đơn-luồng của JavaScript: Chúng chạy các quá trình trên một luồng riêng biệt từ trang chính, bảo vệ trang với các chức năng chính, chẳng hạn như duy trì một giao diện người dùng ổn định.
Một web worker là một tệp JavaScript được nạp và được thực hiện trong nền.
Các web worker này cho phép bạn tải một tệp JavaScript động, và sau đó
thực hiện một kịch bản lệnh bằng cách sử dụng một quá trình nền mà không
ảnh hưởng đến giao diện người dùng. Các web worker có quyền truy cập hạn
chế và chỉ được phép truyền qua các chuỗi. Vì web worker không sử dụng
luồng giao diện người dùng của trình duyệt, nên chúng không được phép truy
cập vào DOM. Các worker có thể sử dụng cả hai tham chiếu
self và
this cho
phạm vi chung của worker. Truyền dẫn của worker và trang cha mẹ đạt được
bằng cách sử dụng một mô hình sự kiện và phương thức
postMessage().
Vì Web workers có cách hoạt động đa luồng, nên chúng chỉ có thể truy cập một tập con của các tính năng của JavaScript. Web workers có thể:
- Truy cập đối tượng navigator.
- Sử dụng đối tượng vị trí chỉ-đọc.
- Thực hiện
XMLHttpRequestđể gửi các yêu cầu HTTP hoặc HTTPS.
- Thiết lập một thời gian hoặc khoảng thời gian cho một hoạt động bằng
cách sử dụng
setTimeout()/clearTimeout()và
setInterval()/clearInterval().
- Truy cập bộ nhớ ứng dụng.
- Nhập khẩu kịch bản lệnh bên ngoài bằng cách sử dụng phương thức
importScripts().
- Sinh ra các Web worker khác (worker con - subworker - phải có cùng nguồn gốc như trang chính và được đặt trong cùng một vị trí như worker mẹ).
Có hai kiểu web workers: các worker chuyên dụng và các worker chia sẻ.
Web worker chuyên dụng
Một web worker chuyên dụng được liên kết đến kịch bản lệnh tạo ra nó, và nó có thể truyền thông với các thành phần worker hoặc trình duyệt khác. Tuy nhiên, nó không thể truyền thông với các DOM.
Một web worker chuyên dụng được tạo ra bằng cách chuyển một tên tệp
JavaScript tới một cá thể worker mới. Bạn tạo ra một worker mới khi sử
dụng hàm tạo
Worker() bằng cách chỉ rõ địa chỉ
URI của kịch bản lệnh đang thực hiện của worker. Để tạo ra một worker
chuyên dụng, hãy nhập mã được hiển thị dưới đây, mã này tạo ra một đối
tượng Worker chuyên dụng mới
Worker:
var worker = new Worker('worker.js');
Các web worker chia sẻ
Các web worker chia sẻ, giống như các worker chuyên dụng, không thể truy cập vào DOM và chỉ có quyền truy cập hạn chế vào các đặc tính cửa sổ. Các web worker chia sẻ chỉ có thể truyền thông với các web worker chia sẻ khác của cùng một miền. Các worker này được tạo ra bằng cách chuyển một tên JavaScript tới một cá thể worker chia sẻ mới..
Các kịch bản lệnh trang có thể truyền thông với các web worker chia sẻ. Tuy
nhiên, không giống như các web worker chuyên dụng, bạn truyền thông bằng
cách sử dụng một đối tượng
port (cổng) và gán
cho một trình xử lý sự kiện thông báo. Ngoài ra, bạn phải gọi phương thức
start() của port trước khi sử dụng phương thức
postMessage() đầu tiên.
Dựa vào việc nhận được thông báo đầu tiên bằng kịch bản lệnh web worker,
web worker chia sẻ gán một trình xử lý sự kiện cho cổng hoạt động. Nói
chung, trình xử lý sẽ chạy phương thức
postMessage() riêng của nó để trả về một thông
báo tới mã đang gọi, và sau đó phương thức
start() của port tạo một quá trình thông báo
cho phép.
Để tạo ra một web worker chia sẻ, bạn phải tạo một đối tượng
SharedWorker thay cho đối tượng
Worker. Đoạn mã sau đây cho thấy cách tạo một
đối tượng
SharedWorker mới:
var worker = new SharedWorker('worker.js');
Dựng một trang có cả hai API
Bạn sẽ thiết kế một trang có chứa các mô hình làm việc cơ bản của cả Geolocation API và Web Worker API. Ngoài ra, bạn sử dụng Google Map API (API bản đồ của Google) để đưa ra dữ liệu đã tích lũy làm một bản đồ.
Trang này được thiết lập như trong Hình 1. Trang này bao gồm một vùng
Header được tạo ra bằng cách sử dụng các thẻ
, một vùng Section
được tạo ra bằng cách sử dụng các thẻ

, và một vùng
Aside được tạo ra bằng cách sử dụng các thẻ
.
Hình 1. Bố trí trang API
Các vùng

 và
 chứa các API. Vùng Section chứa
Geolocation API. Vùng Aside chứa web worker, tính các số nguyên tố.
Khi được thực hiện, trang web này được hiển thị trong Hình 2. Để xem các dữ liệu định vị địa lý, trước tiên bạn phải đồng ý chia sẻ thông tin của bạn. Web worker khởi động khi nạp trang. Nếu bạn muốn xem các số nguyên tố được tìm thấy, hãy nhấn vào Display Web Worker (Hiển thị trình làm việc trên nền web).
Hình 2. Trang web API
Tệp HTML
Tệp HTML bắt đầu bằng thông tin HTML5 chuẩn như trong Liệt kê 1. Phần
 chứa một lời gọi đến Google Maps API, thiết
lập giá trị của bộ cảm biến là False (Sai). Việc sử dụng Google Maps API đòi hỏi bạn
cho biết ứng dụng của bạn có đang sử dụng một bộ cảm biến, chẳng hạn như GPS, để
thiết lập vị trí không. Bạn phải khai báo một giá trị tham số cảm biến là True
(Đúng) hay False (Sai) cho ứng dụng Google Maps API của bạn. Cần phải khai báo
một giá trị cảm biến. Thẻ
 cũng chứa
các liên kết đến các tệp JavaScript và sử dụng CSS3 để xử lý các hàm và định dạng
trang web.
Liệt kê 1. Bắt đầu tệp HTML
<!doctype html>   <title>Basic GeoLocation Map & Web Worker Prime Number Calculator</title>  <LINK href="GeolocationWebWorker.css" rel="stylesheet" type="text/css">
Thẻ
 chứa một sự kiện
onLoad gọi hàm khởi tạo để định vị vị trí địa lý,
như trong Liệt kê 2. Hàm này xác minh xem có thể sử dụng định vị vị trí
địa lý trong trình duyệt này không. Hàm khởi tạo này có trong tệp
JavaScript. Nếu trình duyệt có thể truyền thông với Geolocation API, bản
đồ sẽ được hiển thị.
Liệt kê 2. Khởi tạo định vị địa lý
  <hgroup>
Geolocation & Web Worker

Making it work
 </hgroup>
Thẻ

 được hiển thị trong Liệt kê
3 có chứa các thông tin kết quả đầu ra hiển thị cho đối tượng
navigator.geolocation. Một canvas bản đồ được
tạo ra bằng cách sử dụng các kinh độ và vĩ độ do API trả về. Dữ liệu
Position
coords cũng được hiển thị khi sử
dụng các thẻ
.
Liệt kê 3. Bản đồ và vị trí của định vị địa lý

This is the geolocation example map.

This is the output from the navigator.geolocation object.

 accuracy:

 altitude:

 altitudeAccuracy:

 heading:

 latitude:

 longitude:

 speed:

This is the Web Worker.

Prime number calculation result: <output id="result"></output>

Web Worker tính các số nguyên tố. Bạn sử dụng thẻ
<output> mới để hiển thị tính toán do web
worker tạo ra. ID được gán trong thẻ
<output> có cùng mã ID JavaScript sử dụng
để xác định tính toán mà nó thực hiện. Các ID (mã định danh) được sử dụng
trong các thẻ
 và
<output> cho phép truy cập vào DOM. Không
có ID tham chiếu, mã JavaScript sẽ không biết sử dụng
 hay
<output>. Liệt kê 4 cho thấy kết quả đầu
ra từ web worker.
Liệt kê 4. Kết quả đầu ra của Web worker

This is the Web Worker.

Prime number calculation result: <output id="result"></output>

onClick được dùng trong thẻ
<input> để trước tiên hiển thị các giá
trị đang được web worker Số nguyên tố (Prime Number web worker) tính toán,
và sau đó
onClick thứ hai được sử dụng để dừng
web worker. Liệt kê 5 cho thấy đoạn mã này. Hàm
displayWorker() làm cho các tính toán của web
worker được hiển thị khi nhấn vào nút này. Web worker đã bắt đầu tính các
số nguyên tố khi trang đã được nạp.
Liệt kê 5. Các đầu vào cho web worker
<input type="button" value="Display Web Worker" onClick="displayWorker();"> <input type="button" value="Stop Web Worker" onClick="stopWorker();">
Tệp JavaScript
JavaScript là máy phía sau các API được trưng bày trên trang mẫu này.
Geolocation API được khởi tạo bằng hàm
initGeoApp(). Đây là hàm được thực hiện bằng sự
kiện
onLoad() trong thẻ
: Nó xác định xem trình duyệt của
bạn có thể sử dụng định vị địa lý không (xem Liệt kê 6). Nếu trình duyệt
của bạn có thể sử dụng định vị địa lý, thì Geolocation API được gọi. Nếu
thành công, bản đồ được vẽ bằng cách sử dụng các thuộc tính
Position. Các giá trị của các thuộc tính này
sau đó được in dưới bản đồ.
Liệt kê 6. Các hàm định vị địa lý
function initGeoApp() { if( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( success, failure); } else { alert("Your browser does not support geolocation services."); } }
Các giá trị được lấy ra bằng
document.getElementById, dựa trên ID mà bạn đã
cung cấp trong tệp HTML.
document.getElementById là một phương thức của
đối tượng tài liệu và được truy cập bằng
document.getElementById, như trong Liệt kê 7.
Các giá trị của các thuộc tính
Position được
lưu trữ ở đây sao cho chúng có thể được sử dụng để in các thuộc tính dưới
bản đồ được hiển thị.
Liệt kê 7. Sử dụng getElementById để nhận được các giá trị coords
var map; function success(position) { document.getElementById("accuracyOutput").innerHTML = position.coords.accuracy; document.getElementById("altitudeOutput").innerHTML = position.coords.aktitude; document.getElementById("altitudeAccuracyOutput").innerHTML = position.coords.altitudeAccuracy; document.getElementById("headingOutput").innerHTML = position.coords.heading; document.getElementById("latitudeOutput").innerHTML = position.coords.latitude; document.getElementById("longitudeOutput").innerHTML = position.coords.longitude; document.getElementById("speedOutput").innerHTML = position.coords.speed;
Phần này định nghĩa các tọa độ cho đối tượng
LatLng của Google Map API, như Liệt kê 8 cho
thấy. Đối tượng
LatLng của Google Map API cung
cấp thông tin tọa độ cần thiết để tạo ra một bản đồ. Bạn có thể thiết lập
mức độ phóng to hay thu nhỏ và một số tùy chọn khác để tạo dáng vẻ của bản
đồ được đưa ra cho người dùng.
Liệt kê 8. Các tùy chọn Bản đồ của Google
var coordinates = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var myOptions = { zoom: 14, center: coordinates, mapTypeControl: false, navigationControlOptions: {style: google.maps.NavigationControlStyle.small}, mapTypeId: google.maps.MapTypeId.ROADMAP };
Lưu ý rằng trong tùy chọn
mapTypeID, hãy chọn
tùy chọn
ROADMAP. Giá trị này trình bày bản đồ
sao cho nó xuất hiện như trong Hình 2. Có bốn giá trị có thể:
- ROADMAP (Lộ trình)
- HYBRID (Lai)
- SATELLITE (Vệ tinh)
- TERRAIN (Địa hình)
Hình 3 cho thấy trang này sẽ xuất hiện như thế nào với tùy chọn HYBRID được chọn.
Hình 3. Trang web API với bản đồ lai
Tạo bản đồ bằng cách sử dụng ID
map_canvas, đó
là ID cho

 trong tệp HTML:
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
Đặt một điểm đánh dấu vị trí ban đầu trên bản đồ. Liệt kê 9 cho thấy mã này.
Liệt kê 9. Đặt một điểm đánh dấu bản đồ ban đầu
var marker = new google.maps.Marker({ position: coordinates, map: map, title: "You are here." }); } function failure() { alert("Sorry, could not obtain location"); }
Web worker bắt đầu thực hiện khi khởi tạo trang này. Nếu người dùng muốn
hiển thị kết quả đầu ra của các tính toán đang được thực hiện, họ có thể
nhấn vào Display Web Worker, sẽ gọi hàm
displayWorker(). Liệt kê 10 cho thấy đoạn mã
này.
Liệt kê 10. Web worker
var worker = new Worker('PrimeNumberWebWorker.js'); function displayWorker() { worker.onmessage = function (event) { document.getElementById('result').innerHTML = event.data; }; }
Nếu người dùng muốn dừng web worker, họ có thể nhấn vào Stop Web
Worker (Dừng Web Worker), sẽ gọi hàm
stopWorker(), được hiển thị trong Liệt kê 11.
Liệt kê 11. Kết thúc worker
function stopWorker() { worker.terminate(); }
File web worker
File tệp này là web worker của trình tính số nguyên tố: nó tính tất cả số nguyên tố cho đến khi bị dừng lại. Liệt kê 12 cho thấy đoạn mã này.
Liệt kê 12. Tính các số nguyên tố
var n = 1; search: while (true) { n += 1; for (var i = 2; i <= Math.sqrt(n); i += 1) if (n % i == 0) continue search; postMessage(n); }
File CSS3
File tệp CSS3 được hiển thị trong Liệt kê 13 cung cấp định dạng hiển thị trong trang HTML5.
Liệt kê 13. Các mô tả CSS3
* {font-family: Arial,Helvetica,sans-serif ; } body { margin: 0 300px 0 300px; color: #990000; background-color:#FFFFCC; } header > hgroup h1 { margin: 0 0 3px 0; padding: 0; text-align: center; font-size: 30px; } header > hgroup h2 { margin: 0 0 15px 0; padding: 0; text-align: center; font-style: italic; font-size: 12px; } header p { margin: 0 0 20px 0 ; padding: 0; text-align: center; font-size: 12px; } aside { width: 200px; height: 175px; margin: -450px 0 0 450px; background-color: #990000; padding: .5px 0 0 10px ; color:#FFFFFF; font-weight:bold; } div { width: 400px; height: 250px; }
Kết luận
Phần đăng này đã xem xét các tiện ích của Geolocation API và Web Worker API. Hai API này đã được chọn vì chúng cùng chứng tỏ cả hai cách sử dụng sáng tạo và thực tế của các API. Định vị địa lý là một ví dụ hay về việc sử dụng đặc tả HTML5 trong việc tạo ra các mô hình kinh doanh mới. Tương tự như vậy, vai trò của Web Worker là giải quyết về những vấn đề cố hữu trong vấn đề xảy ra đồng thời của JavaScript.
Cả hai API này cùng minh họa một sự kết hợp mô hình sử dụng HTML5 để sử dụng cho thương mại và xã hội. Vì vậy, tiện ích của chúng chứng tỏ sự tạo điều kiện thuận lợi thích hợp và sự quản lý chung của một ứng dụng Internet phong phú của HTML5.
Tải về
Tài nguyên
Học tập
- Đặc tả Web Workers được WHATWG xuất bản cung cấp thông tin về trình làm việc chi tiết.
- Đặc tả W3C về định vị địa lý, Đặc tả Geolocation API mức 2, cung cấp một phần trường hợp sử dụng đầy đủ và các yêu cầu có ích trong việc xây dựng các ứng dụng thương mại và xã hội của API.
- Xây dựng các ứng dụng Web với HTML 5 (developerWorks, 03.2010) thảo luận về một số các tính năng mới được giới thiệu với HTML5.
- Tạo các ứng dụng web di động với HTML 5, Phần 1: Kết hợp HTML 5, các API định vị địa lý, và các dịch vụ Web để tạo ra các ứng dụng di động (developerWorks, 05.2010) cung cấp cái nhìn sâu sắc có giá trị về sự phát triển của các ứng dụng di động.
- Tạo các trang web hiện đại bằng cách sử dụng HTML5 và CSS3 (developerWorks, 03.2010) là một bài viết HTML5 và CSS3 nhiều thành phần.
- Trong bài Các phần tử mới trong HTML 5 (developerWorks, 08.2007), bạn sẽ tìm thấy thông tin cho một số các phần tử mới trong HTML5.
- Trang web 5doctor cung cấp một cái nhìn tuyệt vời về những xu hướng hiện tại trong HTML5 hiện nay.
- W3Schools.com: Tham khảo thẻ HTML5 cung cấp một danh sách rộng rãi về các thẻ, các định nghĩa, và các ví dụ HTML5.
- Trang web WHATWG cung cấp thông tin chi tiết cho đặc tả HTML5.
- Vùng phát triển Web chuyên về các bài viết trình bày các giải pháp dựa trên web khác nhau.
- Theo sát với các sự kiện kỹ thuật và các webcast của developerWorks.
- Các trình diễn theo yêu cầu của developerWorks: Xem các trình diễn khác nhau từ cài đặt sản phẩm và thiết lập các trình diễn cho những người mới bắt đầu đến các chức năng tiên tiến cho các nhà phát triển có kinh nghiệm.
- Theo dõi developerWorks trên Twitter.
Lấy sản phẩm và công nghệ
- Bộ công cụ Dojo, một thư viện JavaScript mô đun mã nguồn mở, giúp bạn nhanh chóng phát triển nền tảng chéo, các ứng dụng và các trang web JavaScript/dựa trên Ajax.
Thảo luận
- Tạo hồ sơ cá nhân developerWorks của bạn ngay hôm nay và thiết lập một danh sách theo dõi về HTML. Kết nối và theo sát kết nối với cộng đồng developerWorks
- Tìm các thành viên developerWorks khác quan tâm đến phát triển web.
- Chia sẻ những gì bạn biết: Tham gia một trong các nhóm developerWorks của chúng tôi có tập trung vào các chủ đề web.
- Roland Barcia nói về Web 2.0 và phần mềm trung gian trong blog của mình.
- Theo dõi các đánh dấu trang được chia sẻ về các chủ đề web của các thành viên developerWorks.
- Nhận được các câu trả lời nhanh chóng: Hãy truy cập vào Diễn đàn về các ứng dụng Web 2.0.
- Nhận được các câu trả lời nhanh chóng: Hãy truy cập vào Diễn đàn Ajax.
Bình luận
-
Vùng dữ liệu trên developerWorks
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
-
Vùng mã nguồn mở trên developerWorks
Xem các bài viết về HTML, CSS, JavaScript,...
-
Điện toán đám mây
Tìm hiểu về điện toán đám mây

markdown:
## API là gì?
Một
*giao diện lập trình ứng dụng* (API - Application Programming Interface)
là một tập các lệnh và các tiêu chuẩn lập trình để truy cập ứng dụng phần mềm. Với
API, bạn có thể thiết kế các sản phẩm được hỗ trợ bởi dịch vụ mà API cung cấp.
HTML5 có một số API mới. Ví dụ:
- Một API vẽ 2D được dùng với phần tử canvas mới để biểu diễn các biểu đồ hoặc hình ảnh trực quan khác.
- Một cơ cấu bộ nhớ đệm API để hỗ trợ các ứng dụng web không nối mạng.
- Một API để phát video và âm thanh được dùng với các phần tử video và âm thanh mới.
- Một history API giúp dễ dàng truy cập lịch sử duyệt web và cho phép các trang web thêm vào nó.
- Một API kéo-và-thả để sử dụng với các thuộc tính
draggable(có khả năng kéo).
- Một API chỉnh sửa để sử dụng với thuộc tính
contenteditable(có khả năng chỉnh sửa nội dung).
- Lưu trữ phía máy khách với các API JavaScript cho các cặp giá trị-khóa và các cơ sở dữ liệu SQL nhúng.
Bài viết này tập trung vào hai API: Geolocation (Định vị địa lý) và Web Worker (Trình làm việc trên nền Web). Đầu tiên, bài viết phân tích chính các API đó, sau đó bạn sẽ thử tạo một trang có chứa cả hai API này.
## Kinh doanh ở khắp mọi nơi: Định vị địa lý
Bạn sử dụng Geolocation API (API Định vị địa lý) để xác định và chia sẻ các vị trí
địa lý. API này trả về các tọa độ kinh độ và vĩ độ — thông tin mà các
doanh nghiệp có thể sử dụng để cung cấp dịch vụ trong vùng gần đúng tọa độ. Những
dịch vụ này thường được gọi là
*các dịch vụ dựa vào vị trí* (LBS -
Location-Based Services).
LBS đề cập đến các nguồn dữ liệu địa lý được dùng để xác định vị trí vật lý của thiết bị đang được theo dõi và, do đó, con người có liên quan đến vị trí đó. Chức năng này cung cấp cho các bên quan tâm cơ hội để tương tác với cá nhân đó dựa vào thị trường với một số điểm trung tâm-định vị địa lý quan tâm.
Kinh doanh thực sự liên quan đến việc tạo ra chất lượng, tiện ích, và giá trị cho các khách hàng, trong khi đồng thời tạo ra lợi ích kinh tế và tài chính cho các bên liên quan, các chủ nợ, các cổ đông, các nhân viên, và các nhà cung cấp. LBS có hỗ trợ - Định vị địa lý giúp việc bám sát và theo dõi một gói bưu kiện hay một người dễ dàng hơn khi sử dụng một thiết bị không có trình duyệt hoặc có trình duyệt. Về thương mại, việc định vị địa lý có liên quan đến tất cả việc sử dụng các tài sản địa lý để xác định nơi một người nào đó hoặc một cái gì đó có ở vị trí đó, rồi bán tập thông tin cụ thể đó cho bất kỳ ai muốn sử dụng nó cho các mục đích xã hội, thương mại, hoặc các mục đích khác, dựa vào sự cho phép hợp pháp từ chủ sở hữu thông tin để làm như vậy.
### Định vị địa lý hoạt động như thế nào
Geolocation API (API Định vị địa lý) được dựa vào một đặc tính của đối
tượng
navigator chung:
navigator.geolocation. Đối tượng JavaScript
navigator cung cấp thông tin có ích về trình
duyệt và hệ thống của khách truy cập. Việc định vị địa lý có thể xác định
vĩ độ và kinh độ bằng các địa chỉ IP, cơ sở dữ liệu dựa trên-web, các kết
nối mạng không dây, và công nghệ phép đo tam giác hoặc GPS (Hệ thống định
vị toàn cầu). Cần lưu ý rằng độ chính xác của thông tin định vị địa lý
được cung cấp khác nhau dựa trên các phương tiện thu nhận thông tin. Đôi
khi, và ở một số địa điểm, bạn có thể không có khả năng nhận được một kết
quả định vị đầy đủ hoặc bất kỳ dữ liệu nào.
Các kịch bản lệnh có thể sử dụng đối tượng
navigator.geolocation để xác định thông tin vị
trí liên quan đến thiết bị lưu trữ của người dùng. Sau khi lấy ra thông
tin vị trí, hãy tạo một đối tượng vị trí và đặt nó chung với dữ liệu.
Đối tượng
navigator.geolocation có ba phương
thức:
getCurrentPosition()
watchPosition()
clearWatch()
### Phương thức getCurrentPosition()
Phương thức
getCurrentPosition() lấy ra vị trí hiện tại
của người dùng, nhưng chỉ một lần. Khi được một kịch bản lệnh gọi, phương thức này
cố gắng thu nhận vị trí hiện tại của thiết bị lưu trữ theo cách không đồng bộ.
*Truyền thông không đồng bộ* có nghĩa là người gửi và người nhận không
đồng thời được tham gia vào truyền thông. Sử dụng truyền thông không đồng bộ cho
phép trình duyệt tiếp tục các hoạt động khác sao cho nó không phải chờ đợi một phản
hồi từ thực thể đang thu nhận.
Phương thức
getCurrentPosition() có thể có đến
ba đối số:
**Gọi lại với vị trí hiện tại (bắt buộc)**
geolocationSuccess.
**Gọi lại nếu có một lỗi (tùy chọn)**
geolocationError.
**Các tùy chọn định vị địa lý (tùy chọn)**
geolocationOptions.
Phương thức
navigator.geolocation.getCurrentPositon() trả
về vị trí hiện tại của thiết bị lưu trữ theo cuộc gọi lại
geolocationSuccess với một đối tượng
Position
làm tham số. Nếu có lỗi, hàm
geolocationError được gọi ra
với một đối tượng
PositionError. Bạn có thể thiết lập ba
đặc tính cho
geolocationOptions:
enableHighAccuracy,
timeout, và
maximumAge. Các đặc tính tùy chọn này có khả năng chính xác
cao, nếu thiết bị hỗ trợ, tương ứng là, một khoảng thời gian chờ để trả về một vị
trí, và một khoảng thời gian tối đa để có thể sử dụng một vị trí đã lưu trữ.
Phương thức
getCurrentPosition() được gọi như
được hiển thị dưới đây:
void navigator.geolocation.getCurrentPosition( geolocationSuccess, geolocationError, geolocationOptions);
### Phương thức watchPosition()
Phương thức
watchPosition() thăm dò vị trí người
dùng một cách thường xuyên, theo dõi để xem liệu vị trí người dùng đã thay
đổi chưa. Nó có thể có đến ba đối số.
Khi
watchPosition được gọi, nó bắt đầu một quá trình theo
dõi không đồng bộ liên quan đến việc thu nhận một đối tượng
Position mới và tạo
watchID. Nếu việc thu
nhận này thành công,
geolocationSuccess liên quan tới một
đối tượng
Position làm đối số được gọi ra. Dựa vào lỗi
liên quan đến một phương thức được gọi ra với một đối số
geolocationError khác không, phương thức này tạo
geolocationError với một đối tượng
PositionError làm đối số. Khi vị trí thiết bị thay đổi, một lời gọi lại
thích hợp với đối tượng
Position mới được gọi ra.
Phương thức
watchPosition() được gọi như được
hiển thị dưới đây:
long navigator.geolocation.watchPosition( geolocationSuccess, geolocationError, geolocationOptions);
### Phương thức clearWatch()
Phương thức
clearWatch() có tác dụng kết thúc một phương
thức
watchPosition() đang diễn ra. Phương thức này có thể
chỉ có một đối số. Khi được gọi, nó tìm đối số
watchID đã
khởi động trước đây và ngưng ngay nó lại.
Phương thức
clearWatch() được gọi như được hiển
thị dưới đây:
void navigator.geolocation.clearWatch(watchID)
### Dữ liệu định vị địa lý: Đối tượng Position
Geolocation API trả về một đối tượng
Position
(vị trí địa lý). Đối tượng này có hai đặc tính:
timestamp và
coords. Đặc tính
timestamp (dấu thời gian) cho biết thời điểm tạo
ra dữ liệu định vị địa lý. Đặc tính
coords (các
tọa độ) có bảy thuộc tính:
**Vĩ độ ước tính**
coords.latitude.
**Kinh độ ước tính**
oords.longitude.
**Độ cao ước tính**
coords.altitude.
**Độ chính xác của vĩ độ và kinh độ được cung cấp ước tính theo mét**
coords.accuracy.
**Độ chính xác của độ cao được cung cấp ước tính theo mét**
coords.altitudeAccuracy.
**Hướng di chuyển hiện tại đối với thiết bị đang lưu trữ trên máy chủ theo độ, tính theo chiều kim đồng hồ liên quan đến cực Bắc thực**
coords.heading.
**Tốc độ dưới đất hiện tại của thiết bị theo mét/giây**
coords.speed.
Chỉ có ba trong số các thuộc tính được bảo đảm là:
coords.latitude,
coords.longitude, và
coords.accuracy. Các thuộc tính còn lại trả về
null (không), tùy thuộc vào các khả năng của
thiết bị của bạn và máy chủ định vị tầng sau mà nó trao đổi. Các thuộc
tính
heading và
speed (tốc độ) được tính toán dựa trên vị trí
trước đó của người dùng, nếu có thể.
## Các trình làm việc trên nền web đến giải cứu
Web workers (Các trình làm việc trên nền web) khắc phục các vấn đề gây ra bởi tính đồng thời. Web workers là câu trả lời của họ HTML5 cho vấn đề đơn-luồng của JavaScript: Chúng chạy các quá trình trên một luồng riêng biệt từ trang chính, bảo vệ trang với các chức năng chính, chẳng hạn như duy trì một giao diện người dùng ổn định.
Một web worker là một tệp JavaScript được nạp và được thực hiện trong nền.
Các web worker này cho phép bạn tải một tệp JavaScript động, và sau đó
thực hiện một kịch bản lệnh bằng cách sử dụng một quá trình nền mà không
ảnh hưởng đến giao diện người dùng. Các web worker có quyền truy cập hạn
chế và chỉ được phép truyền qua các chuỗi. Vì web worker không sử dụng
luồng giao diện người dùng của trình duyệt, nên chúng không được phép truy
cập vào DOM. Các worker có thể sử dụng cả hai tham chiếu
self và
this cho
phạm vi chung của worker. Truyền dẫn của worker và trang cha mẹ đạt được
bằng cách sử dụng một mô hình sự kiện và phương thức
postMessage().
Vì Web workers có cách hoạt động đa luồng, nên chúng chỉ có thể truy cập một tập con của các tính năng của JavaScript. Web workers có thể:
- Truy cập đối tượng navigator.
- Sử dụng đối tượng vị trí chỉ-đọc.
- Thực hiện
XMLHttpRequestđể gửi các yêu cầu HTTP hoặc HTTPS.
- Thiết lập một thời gian hoặc khoảng thời gian cho một hoạt động bằng
cách sử dụng
setTimeout()/clearTimeout()và
setInterval()/clearInterval().
- Truy cập bộ nhớ ứng dụng.
- Nhập khẩu kịch bản lệnh bên ngoài bằng cách sử dụng phương thức
importScripts().
- Sinh ra các Web worker khác (worker con - subworker - phải có cùng nguồn gốc như trang chính và được đặt trong cùng một vị trí như worker mẹ).
Có hai kiểu web workers: các worker chuyên dụng và các worker chia sẻ.
### Web worker chuyên dụng
Một web worker chuyên dụng được liên kết đến kịch bản lệnh tạo ra nó, và nó có thể truyền thông với các thành phần worker hoặc trình duyệt khác. Tuy nhiên, nó không thể truyền thông với các DOM.
Một web worker chuyên dụng được tạo ra bằng cách chuyển một tên tệp
JavaScript tới một cá thể worker mới. Bạn tạo ra một worker mới khi sử
dụng hàm tạo
Worker() bằng cách chỉ rõ địa chỉ
URI của kịch bản lệnh đang thực hiện của worker. Để tạo ra một worker
chuyên dụng, hãy nhập mã được hiển thị dưới đây, mã này tạo ra một đối
tượng Worker chuyên dụng mới
Worker:
var worker = new Worker('worker.js');
### Các web worker chia sẻ
Các web worker chia sẻ, giống như các worker chuyên dụng, không thể truy cập vào DOM và chỉ có quyền truy cập hạn chế vào các đặc tính cửa sổ. Các web worker chia sẻ chỉ có thể truyền thông với các web worker chia sẻ khác của cùng một miền. Các worker này được tạo ra bằng cách chuyển một tên JavaScript tới một cá thể worker chia sẻ mới..
Các kịch bản lệnh trang có thể truyền thông với các web worker chia sẻ. Tuy
nhiên, không giống như các web worker chuyên dụng, bạn truyền thông bằng
cách sử dụng một đối tượng
port (cổng) và gán
cho một trình xử lý sự kiện thông báo. Ngoài ra, bạn phải gọi phương thức
start() của port trước khi sử dụng phương thức
postMessage() đầu tiên.
Dựa vào việc nhận được thông báo đầu tiên bằng kịch bản lệnh web worker,
web worker chia sẻ gán một trình xử lý sự kiện cho cổng hoạt động. Nói
chung, trình xử lý sẽ chạy phương thức
postMessage() riêng của nó để trả về một thông
báo tới mã đang gọi, và sau đó phương thức
start() của port tạo một quá trình thông báo
cho phép.
Để tạo ra một web worker chia sẻ, bạn phải tạo một đối tượng
SharedWorker thay cho đối tượng
Worker. Đoạn mã sau đây cho thấy cách tạo một
đối tượng
SharedWorker mới:
var worker = new SharedWorker('worker.js');
## Dựng một trang có cả hai API
Bạn sẽ thiết kế một trang có chứa các mô hình làm việc cơ bản của cả Geolocation API và Web Worker API. Ngoài ra, bạn sử dụng Google Map API (API bản đồ của Google) để đưa ra dữ liệu đã tích lũy làm một bản đồ.
Trang này được thiết lập như trong Hình 1. Trang này bao gồm một vùng
Header được tạo ra bằng cách sử dụng các thẻ
, một vùng Section
được tạo ra bằng cách sử dụng các thẻ

, và một vùng
Aside được tạo ra bằng cách sử dụng các thẻ
.
##### Hình 1. Bố trí trang API
![ Ba hộp: một header mở rộng trên một hộp section ở bên trái chứa geolocation api và một hộp aside ở bên phải chứa worker api.](WebpageLayout3.gif)
Các vùng

 và
 chứa các API. Vùng Section chứa
Geolocation API. Vùng Aside chứa web worker, tính các số nguyên tố.
Khi được thực hiện, trang web này được hiển thị trong Hình 2. Để xem các dữ
liệu định vị địa lý, trước tiên bạn phải đồng ý chia sẻ thông tin của bạn.
Web worker khởi động khi nạp trang. Nếu bạn muốn xem các số nguyên tố được
tìm thấy, hãy nhấn vào
**Display Web Worker** (Hiển thị trình
làm việc trên nền web).
##### Hình 2. Trang web API
![ Trang cho thấy một bản đồ và các tọa độ thông tin định vị địa lý.](webpage.jpg)
### Tệp HTML
Tệp HTML bắt đầu bằng thông tin HTML5 chuẩn như trong Liệt kê 1. Phần
 chứa một lời gọi đến Google Maps API, thiết
lập giá trị của bộ cảm biến là False (Sai). Việc sử dụng Google Maps API đòi hỏi bạn
cho biết ứng dụng của bạn có đang sử dụng một bộ cảm biến, chẳng hạn như GPS, để
thiết lập vị trí không. Bạn phải khai báo một giá trị tham số cảm biến là True
(Đúng) hay False (Sai) cho ứng dụng Google Maps API của bạn.
*Cần phải khai báo
một giá trị cảm biến.* Thẻ
 cũng chứa
các liên kết đến các tệp JavaScript và sử dụng CSS3 để xử lý các hàm và định dạng
trang web.
##### Liệt kê 1. Bắt đầu tệp HTML
<!doctype html>   <title>Basic GeoLocation Map & Web Worker Prime Number Calculator</title>  <LINK href="GeolocationWebWorker.css" rel="stylesheet" type="text/css">
Thẻ
 chứa một sự kiện
onLoad gọi hàm khởi tạo để định vị vị trí địa lý,
như trong Liệt kê 2. Hàm này xác minh xem có thể sử dụng định vị vị trí
địa lý trong trình duyệt này không. Hàm khởi tạo này có trong tệp
JavaScript. Nếu trình duyệt có thể truyền thông với Geolocation API, bản
đồ sẽ được hiển thị.
##### Liệt kê 2. Khởi tạo định vị địa lý
  <hgroup>
Geolocation & Web Worker

Making it work
 </hgroup>
Thẻ

 được hiển thị trong Liệt kê
3 có chứa các thông tin kết quả đầu ra hiển thị cho đối tượng
navigator.geolocation. Một canvas bản đồ được
tạo ra bằng cách sử dụng các kinh độ và vĩ độ do API trả về. Dữ liệu
Position
coords cũng được hiển thị khi sử
dụng các thẻ
.
##### Liệt kê 3. Bản đồ và vị trí của định vị địa lý

This is the geolocation example map.

This is the output from the navigator.geolocation object.

 accuracy:

 altitude:

 altitudeAccuracy:

 heading:

 latitude:

 longitude:

 speed:

This is the Web Worker.

Prime number calculation result: <output id="result"></output>

Web Worker tính các số nguyên tố. Bạn sử dụng thẻ
<output> mới để hiển thị tính toán do web
worker tạo ra. ID được gán trong thẻ
<output> có cùng mã ID JavaScript sử dụng
để xác định tính toán mà nó thực hiện. Các ID (mã định danh) được sử dụng
trong các thẻ
 và
<output> cho phép truy cập vào DOM. Không
có ID tham chiếu, mã JavaScript sẽ không biết sử dụng
 hay
<output>. Liệt kê 4 cho thấy kết quả đầu
ra từ web worker.
##### Liệt kê 4. Kết quả đầu ra của Web worker

This is the Web Worker.

Prime number calculation result: <output id="result"></output>

onClick được dùng trong thẻ
<input> để trước tiên hiển thị các giá
trị đang được web worker Số nguyên tố (Prime Number web worker) tính toán,
và sau đó
onClick thứ hai được sử dụng để dừng
web worker. Liệt kê 5 cho thấy đoạn mã này. Hàm
displayWorker() làm cho các tính toán của web
worker được hiển thị khi nhấn vào nút này. Web worker đã bắt đầu tính các
số nguyên tố khi trang đã được nạp.
##### Liệt kê 5. Các đầu vào cho web worker
<input type="button" value="Display Web Worker" onClick="displayWorker();"> <input type="button" value="Stop Web Worker" onClick="stopWorker();">
### Tệp JavaScript
JavaScript là máy phía sau các API được trưng bày trên trang mẫu này.
Geolocation API được khởi tạo bằng hàm
initGeoApp(). Đây là hàm được thực hiện bằng sự
kiện
onLoad() trong thẻ
: Nó xác định xem trình duyệt của
bạn có thể sử dụng định vị địa lý không (xem Liệt kê 6). Nếu trình duyệt
của bạn có thể sử dụng định vị địa lý, thì Geolocation API được gọi. Nếu
thành công, bản đồ được vẽ bằng cách sử dụng các thuộc tính
Position. Các giá trị của các thuộc tính này
sau đó được in dưới bản đồ.
##### Liệt kê 6. Các hàm định vị địa lý
function initGeoApp() { if( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( success, failure); } else { alert("Your browser does not support geolocation services."); } }
Các giá trị được lấy ra bằng
document.getElementById, dựa trên ID mà bạn đã
cung cấp trong tệp HTML.
document.getElementById là một phương thức của
đối tượng tài liệu và được truy cập bằng
document.getElementById, như trong Liệt kê 7.
Các giá trị của các thuộc tính
Position được
lưu trữ ở đây sao cho chúng có thể được sử dụng để in các thuộc tính dưới
bản đồ được hiển thị.
##### Liệt kê 7. Sử dụng getElementById để nhận được các giá trị coords
var map; function success(position) { document.getElementById("accuracyOutput").innerHTML = position.coords.accuracy; document.getElementById("altitudeOutput").innerHTML = position.coords.aktitude; document.getElementById("altitudeAccuracyOutput").innerHTML = position.coords.altitudeAccuracy; document.getElementById("headingOutput").innerHTML = position.coords.heading; document.getElementById("latitudeOutput").innerHTML = position.coords.latitude; document.getElementById("longitudeOutput").innerHTML = position.coords.longitude; document.getElementById("speedOutput").innerHTML = position.coords.speed;
Phần này định nghĩa các tọa độ cho đối tượng
LatLng của Google Map API, như Liệt kê 8 cho
thấy. Đối tượng
LatLng của Google Map API cung
cấp thông tin tọa độ cần thiết để tạo ra một bản đồ. Bạn có thể thiết lập
mức độ phóng to hay thu nhỏ và một số tùy chọn khác để tạo dáng vẻ của bản
đồ được đưa ra cho người dùng.
##### Liệt kê 8. Các tùy chọn Bản đồ của Google
var coordinates = new google.maps.LatLng(position.coords.latitude, position.coords.longitude); var myOptions = { zoom: 14, center: coordinates, mapTypeControl: false, navigationControlOptions: {style: google.maps.NavigationControlStyle.small}, mapTypeId: google.maps.MapTypeId.ROADMAP };
Lưu ý rằng trong tùy chọn
mapTypeID, hãy chọn
tùy chọn
ROADMAP. Giá trị này trình bày bản đồ
sao cho nó xuất hiện như trong Hình 2. Có bốn giá trị có thể:
- ROADMAP (Lộ trình)
- HYBRID (Lai)
- SATELLITE (Vệ tinh)
- TERRAIN (Địa hình)
Hình 3 cho thấy trang này sẽ xuất hiện như thế nào với tùy chọn
**HYBRID** được chọn.
##### Hình 3. Trang web API với bản đồ lai
![ Trang cho thấy một bản đồ và các tọa độ thông tin định vị địa lý.](webpage-hybrid.jpg)
Tạo bản đồ bằng cách sử dụng ID
map_canvas, đó
là ID cho

 trong tệp HTML:
map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
Đặt một điểm đánh dấu vị trí ban đầu trên bản đồ. Liệt kê 9 cho thấy mã này.
##### Liệt kê 9. Đặt một điểm đánh dấu bản đồ ban đầu
var marker = new google.maps.Marker({ position: coordinates, map: map, title: "You are here." }); } function failure() { alert("Sorry, could not obtain location"); }
Web worker bắt đầu thực hiện khi khởi tạo trang này. Nếu người dùng muốn
hiển thị kết quả đầu ra của các tính toán đang được thực hiện, họ có thể
nhấn vào
**Display Web Worker**, sẽ gọi hàm
displayWorker(). Liệt kê 10 cho thấy đoạn mã
này.
##### Liệt kê 10. Web worker
var worker = new Worker('PrimeNumberWebWorker.js'); function displayWorker() { worker.onmessage = function (event) { document.getElementById('result').innerHTML = event.data; }; }
Nếu người dùng muốn dừng web worker, họ có thể nhấn vào
**Stop Web
Worker** (Dừng Web Worker), sẽ gọi hàm
stopWorker(), được hiển thị trong Liệt kê 11.
##### Liệt kê 11. Kết thúc worker
function stopWorker() { worker.terminate(); }
### File web worker
File tệp này là web worker của trình tính số nguyên tố: nó tính tất cả số nguyên tố cho đến khi bị dừng lại. Liệt kê 12 cho thấy đoạn mã này.
##### Liệt kê 12. Tính các số nguyên tố
var n = 1; search: while (true) { n += 1; for (var i = 2; i <= Math.sqrt(n); i += 1) if (n % i == 0) continue search; postMessage(n); }
### File CSS3
File tệp CSS3 được hiển thị trong Liệt kê 13 cung cấp định dạng hiển thị trong trang HTML5.
##### Liệt kê 13. Các mô tả CSS3
* {font-family: Arial,Helvetica,sans-serif ; } body { margin: 0 300px 0 300px; color: #990000; background-color:#FFFFCC; } header > hgroup h1 { margin: 0 0 3px 0; padding: 0; text-align: center; font-size: 30px; } header > hgroup h2 { margin: 0 0 15px 0; padding: 0; text-align: center; font-style: italic; font-size: 12px; } header p { margin: 0 0 20px 0 ; padding: 0; text-align: center; font-size: 12px; } aside { width: 200px; height: 175px; margin: -450px 0 0 450px; background-color: #990000; padding: .5px 0 0 10px ; color:#FFFFFF; font-weight:bold; } div { width: 400px; height: 250px; }
## Kết luận
Phần đăng này đã xem xét các tiện ích của Geolocation API và Web Worker API. Hai API này đã được chọn vì chúng cùng chứng tỏ cả hai cách sử dụng sáng tạo và thực tế của các API. Định vị địa lý là một ví dụ hay về việc sử dụng đặc tả HTML5 trong việc tạo ra các mô hình kinh doanh mới. Tương tự như vậy, vai trò của Web Worker là giải quyết về những vấn đề cố hữu trong vấn đề xảy ra đồng thời của JavaScript.
Cả hai API này cùng minh họa một sự kết hợp mô hình sử dụng HTML5 để sử dụng cho thương mại và xã hội. Vì vậy, tiện ích của chúng chứng tỏ sự tạo điều kiện thuận lợi thích hợp và sự quản lý chung của một ứng dụng Internet phong phú của HTML5.
## Tải về
|Mô tả||Tên||Kích thước|
|Example HTML, CSS3 and JavaScript files|
## Tài nguyên
### Học tập
[Đặc tả Web Workers]( http://www.whatwg.org/specs/web-workers/current-work/)được WHATWG xuất bản cung cấp thông tin về trình làm việc chi tiết.
- Đặc tả W3C về định vị địa lý,
[Đặc tả Geolocation API mức 2](http://dev.w3.org/geo/api/spec-source-v2), cung cấp một phần trường hợp sử dụng đầy đủ và các yêu cầu có ích trong việc xây dựng các ứng dụng thương mại và xã hội của API. [Xây dựng các ứng dụng Web với HTML 5](http://www.ibm.com/developerworks/web/library/wa-html5webapp/?S_TACT=105AGY75)(developerWorks, 03.2010) thảo luận về một số các tính năng mới được giới thiệu với HTML5. [Tạo các ứng dụng web di động với HTML 5, Phần 1: Kết hợp HTML 5, các API định vị địa lý, và các dịch vụ Web để tạo ra các ứng dụng di động](http://www.ibm.com/developerworks/library/x-html5mobile1/index.html?S_TACT=105AGY75)(developerWorks, 05.2010) cung cấp cái nhìn sâu sắc có giá trị về sự phát triển của các ứng dụng di động. [Tạo các trang web hiện đại bằng cách sử dụng HTML5 và CSS3](http://www.ibm.com/developerworks/vn/edu/wa-html5/index.html)(developerWorks, 03.2010) là một bài viết HTML5 và CSS3 nhiều thành phần.
- Trong bài
[Các phần tử mới trong HTML 5](http://www.ibm.com/developerworks/library/x-html5/?S_TACT=105AGY75)(developerWorks, 08.2007), bạn sẽ tìm thấy thông tin cho một số các phần tử mới trong HTML5.
- Trang web
[5doctor](http://html5doctor.com/)cung cấp một cái nhìn tuyệt vời về những xu hướng hiện tại trong HTML5 hiện nay. [W3Schools.com: Tham khảo thẻ HTML5](http://www.w3schools.com/html5/html5_reference.asp)cung cấp một danh sách rộng rãi về các thẻ, các định nghĩa, và các ví dụ HTML5. [Trang web WHATWG](http://www.whatwg.org/specs/web-apps/current-work/multipage/)cung cấp thông tin chi tiết cho đặc tả HTML5. [Vùng phát triển Web](http://www.ibm.com/developerworks/web/?S_TACT=105AGY75)chuyên về các bài viết trình bày các giải pháp dựa trên web khác nhau.
- Theo sát với
[các sự kiện kỹ thuật và các webcast](http://www.ibm.com/developerworks/offers/techbriefings/?S_TACT=105AGY75)của developerWorks. [Các trình diễn theo yêu cầu của developerWorks](http://www.ibm.com/developerworks/offers/lp/demos/?S_TACT=105AGY75): Xem các trình diễn khác nhau từ cài đặt sản phẩm và thiết lập các trình diễn cho những người mới bắt đầu đến các chức năng tiên tiến cho các nhà phát triển có kinh nghiệm.
- Theo dõi
[developerWorks trên Twitter](http://www.twitter.com/developerworks/).
### Lấy sản phẩm và công nghệ
[Bộ công cụ Dojo](http://dojofoundation.org/), một thư viện JavaScript mô đun mã nguồn mở, giúp bạn nhanh chóng phát triển nền tảng chéo, các ứng dụng và các trang web JavaScript/dựa trên Ajax.
### Thảo luận
- Tạo
[hồ sơ cá nhân developerWorks của bạn](https://www.ibm.com/developerworks/mydeveloperworks/profiles/home.do?lang=en&S_TACT=105AGY75)ngay hôm nay và [thiết lập một danh sách theo dõi](https://www.ibm.com/developerworks/mydeveloperworks/homepage/help/doc/en/homepage_watchlistuse.html)về HTML. Kết nối và theo sát kết nối với [cộng đồng developerWorks](http://www.ibm.com/developerworks/mydeveloperworks/#community?S_TACT=105AGY75)
- Tìm
[các thành viên developerWorks khác quan tâm đến phát triển web](https://www.ibm.com/developerworks/mydeveloperworks/profiles/html/keywordSearch.do?keyword=web&lang=en).
- Chia sẻ những gì bạn biết:
[Tham gia một trong các nhóm developerWorks của chúng tôi có tập trung vào các chủ đề web](https://www.ibm.com/developerworks/mydeveloperworks/search/web/search?S_TACT=105AGY75).
- Roland Barcia nói về
[Web 2.0 và phần mềm trung gian](https://www.ibm.com/developerworks/mydeveloperworks/blogs/barcia/?lang=en&S_TACT=105AGY75)trong blog của mình.
- Theo dõi
[các đánh dấu trang được chia sẻ về các chủ đề web](https://www.ibm.com/developerworks/mydeveloperworks/bookmarks/html?ps=50&search=web&searchType=mode&sortOrder=desc&lang=en)của các thành viên developerWorks.
- Nhận được các câu trả lời nhanh chóng:
Hãy truy cập vào
[Diễn đàn về các ứng dụng Web 2.0](http://www.ibm.com/developerworks/forums/forum.jspa?forumID=1182&S_TACT=105AGY75).
- Nhận được các câu trả lời nhanh chóng:
Hãy truy cập vào
[Diễn đàn Ajax](http://www.ibm.com/developerworks/forums/forum.jspa?forumID=965&S_TACT=105AGY75).
## Bình luận
[Vùng dữ liệu trên developerWorks](http://www.ibm.com/developerworks/vn/views/data/libraryview.jsp)
Khám phá các bài viết xoay quanh lĩnh vực dữ liệu, Quản lý hệ thống thông tin
[Vùng mã nguồn mở trên developerWorks](http://www.ibm.com/developerworks/vn/views/opensource/libraryview.jsp)
Xem các bài viết về HTML, CSS, JavaScript,...
[Điện toán đám mây](http://www.ibm.com/developerworks/vn/views/cloud/libraryview.jsp)
Tìm hiểu về điện toán đám mây

WARC-Type: response

Content-Type: application/http; msgtype=response

Content-Language: en-US

Connection: close

Vary: Accept-Encoding

Content-Type: text/html; charset=UTF-8


text:
Bạn có thể gửi nhận xét, góp ý hay liên hệ về bài viết Sức khỏe thể hiện trên… móng tay bằng cách gửi thư điện tử tới Lien He Bao Viet Nam. Xin bao gồm tên bài viết Suc khoe the hien tren mong tay ở dạng tiếng Việt không dấu. Hoặc Sức khỏe thể hiện trên… móng tay ở dạng có dấu. Bài viết trong chuyên đề của chuyên mục Sức Khỏe.
Health ... show on nails
nail, can, phenomena, health, sometimes, cause, you, as, up, turning, wound
TP - Everyone wants to have a foundation hand smooth, clean and sparkling. However, although well cared for, sometimes your nails damaged, broken, discolored, rough ... These abnormalities reflect the status of your health ..
Cháu gái ngã xuống hồ đang xả nước, ông tử nạn khi lao theo cứu cháu; Uẩn khúc khám bệnh nhận quà khuyến mãi ở phòng khám tư nhân; Mảnh giấy sót lộ tẩy chiêu đóng giả người thân đoạt tiền người già; Giảm hóa đơn nước tiền triệu cho dân: Tình thương ngành nước
Bị "tố" từ chối cấp cứu bệnh nhân, bác sĩ trạm y tế nói gì?; Hà Nội ngập nặng, dân leo lên xe ủi, chèo xuồng "lướt" phố; Vợ tố bị chồng đánh đến mức phải nhập viện, sảy thai 3 tháng; Vụ tai nạn thảm khốc ở Bình Thuận: Đã có 13 nạn nhân tử vong; Đã giải cứu thành công cá voi nặng 15 tấn mắc cạn
Chết cháy vì không có búa thoát hiểm: Nhà xe kêu khách lấy trộm; Những lần ông Obama tháo nhẫn để bắt tay gây tranh cãi; Hà Nội tiếp tục kiểm tra hoạt động bán hàng đa cấp; Cứu sống bệnh nhân bị gần 20 viên đạn găm khắp người; Cần xử lý thông tin bịa đặt, vu khống trên mạng xã hội
Chuyện những "dân chơi" đặt mua đồ nhưng thản nhiên... quên trả tiền; Vụ tai nạn thảm khốc 12 người chết: Tang thương quê nghèo; Truy sát kinh hoàng ở Cà Mau, nạn nhân bị chém khâu gần 30 mũi; Bê tông hầm chui như "kẹo lạc không đường": Nhiều giả thiết;
Gạo đổi màu xanh khi ngâm nước tại Đà Nẵng: Mất 15 ngày kiểm tra; Xúc xích chứa chất gây ung thư: "Ăn ít cơ thể tự đào thải độc"; Dùng axit tẩy bình rồi đem bán nước lọc đóng chai; Góc khuất đằng sau lời "rao mình" trong "ma trận"... chợ thận online;
Những vụ tai nạn liên quan đến xe khách thường gây ra thương vong lên đến hàng chục người khiến nhiều người thấy bất an, ám ảnh đối với loại phương tiện này.
Nhà Trắng công bố lịch trình chuyến thăm chính thức tới Việt Nam và Nhật Bản của Tổng thống Barack Obama, chuyến thăm thứ 10 của ông tới châu Á.
Từ đầu năm đến nay, hàng loạt vụ học sinh bị xâm hại tình dục khiến nhiều phụ huynh, học sinh hoang mang, lo sợ
Việc đồng bộ bảng, biển quảng cáo đã mang lại diện mạo khác hẳn với vẻ nhếch nhác của nhiều tuyến phố ở Hà Nội hay các đô thị lớn. Tuy nhiên, có không ít ý kiến không đồng tình với việc làm này.
Một vụ bạo lực học đường nghiêm trọng đã xảy ra tại trường THCS 15/10 (Mộc Châu, Sơn La), trong đó một nữ sinh đã thẳng tay tát bạn 52 cái, hộc máu mũi đang thu hút sự quan tâm của dư luận.
Bước khỏi cửa nhà gặp một đứa trẻ bị bỏ rơi còn nguyên dây rốn, bạn có dám bế lên và ngay lập tức nhận cưu mang bé không?
Đâu đó giữa một Hà Nội phồn hoa, nhộn nhịp vẫn còn những con người ngày đêm phải chiến đấu với cái nghiệt ngã ở đời, với căn bệnh quái ác mang tên “suy thận”. Chúng tôi vừa trở về từ chuyến thăm các bệnh nhân ở Xóm chạy thận nằm sâu trong ngõ 121 Lê Thanh Nghị, Hai Bà Trưng, Hà Nội.
Câu chuyện về dãy nhà trọ 15.000 đồng với đầy đủ tiện nghi điều hòa, tivi, bình nước nóng lạnh của ông chủ Nguyễn Thế Hiệp khiến nhiều người không tin...
Cho đến bây giờ, nhiều người vẫn nhớ giọng hát người phụ nữ ấy vút cao tại chương trình kỷ niệm lần thứ 27 Ngày Thế giới phòng chống HIV/AIDS của Đại sứ quán Mỹ tổ chức tại Việt Nam.
Ở tuổi 76 nhưng "bác Lâm" vẫn ngày ngày miệt mài với nghề… tìm hạnh phúc cho những cặp vợ chồng vô sinh, hiếm muộn.
Những hoạt động cũng như các tuyên bố của Tổng thống Obama tại Việt Nam là thông tin nổi bật nhất trên các mặt báo trong tuần vừa qua.
Tai nạn giao thông kinh hoàng ở Bình Thuận; Hà Nội mưa lớn, nhiều tuyến phố biến thành sông; Phụ huynh bức xúc con bị thâm tím người khi từ trường mầm non về; Hình ảnh ấn tượng tại lễ đón chính thức Tổng thống Mỹ ... là những tin tức xã hội nổi bật được dư luận quan tâm trong tuần qua.
Giết người vì tưởng hiếp dâm; Vụ cướp bánh mỳ bị truy tố; Gia đình Minh Béo không phải trả tiền bảo lãnh 100.000 USD; Vụ trộm ô tô vàng chấn động Hà Nội; Dã tâm 'chiều chồng' lúc nửa đêm của người đàn bà ngoại tình; Giả hotgirl khoe thân qua mạng, lừa tiền người háo sắc;....là những tin đáng chú ý.
Chuyến thăm của Tổng thống Mỹ mang lại hiệu ứng lâu dài cho DN Việt; CPI tháng 5 tăng 0,54%, cao nhất trong 5 năm qua; Chính thức mở lại cho vay ngoại tệ từ 1/6; dự án sống lay lắt vì nhà thầu Trung Quốc chậm tiến độ;Tổng số tiền nợ thuế cả nước đã lên ngưỡng 76.000 tỷ đồng... Cùng với đó là những thông tin tài chính- ngân hàng,
Bố vợ chém chết con rể rồi chở xác đến Công an đầu thú; Ông Tây dọn cống thối ở Nguyễn Khang, Hà Nội; Choáng với hóa đơn tiền nước khủng ở Hà Nội; Cá chết ngửa bụng trên kênh Nhiêu Lộc ... là những tin tức xã hội nổi bật được dư luận quan tâm trong tuần qua.
Viết phản hồi

markdown:
|
|
Ai cũng muốn có một bộ móng tay nhẵn bóng, sạch sẽ và lấp lánh. Tuy nhiên, mặc dù được chăm sóc cẩn thận, đôi khi móng tay của bạn bị hư tổn, gẫy, đổi màu, sần sùi… Những điều bất thường này phản ánh tình trạng sức khỏe của bạn.
Chúng đen đi…
Nên tham khảo ý kiến bác sĩ khi màu sắc của chúng thay đổi, bởi đôi khi những thay đổi đó có nguyên nhân từ thuốc mà bạn sử dụng hoặc từ một căn bệnh nội tiết.
… hay trắng lên
Vết trắng bất bình thường lan rộng: Nó có thể liên quan đến nấm hay eczema. Đôi khi hiện tượng này rất khó xác định nguyên nhân.
Chúng vàng đi
Để tránh sự khó chịu này bạn có thể bôi thêm một lớp nền bảo vệ (lớp sơn móng tay trong suốt). Bạn cũng có thể loại bỏ màu ám khói thuốc bằng cách dùng một miếng bông vắt nước cốt chanh chà lên móng tay.
Chúng màu xanh
… hay đỏ
Móng biến dạng
Chúng có những đường rạch
Liên quan đến hiện tượng lão hóa, các đường rạch hình thành một cách tự nhiên, giống như một dạng “nếp nhăn” của móng.
Để giảm nhẹ, bạn có thể giũa nhẹ nhàng lên móng rồi mài sẵn và bôi lên móng một lớp sơn bảo vệ. Thường xuyên làm ẩm móng bằng kem dưỡng da tay.
Chúng lượn sóng
Hiện tượng móng lượn sóng ngang này có thể xuất hiện ở những phụ nữ có thói quen giũa móng tay mạnh bằng một dụng cụ kim loại.
Đôi khi chúng có nguyên nhân từ những tổn thương lặp lại, eczema hay sự ẩm ướt.
Chúng khum lên
Hiện tượng này có thể có nguyên nhân di truyền hoặc là dấu hiệu của một chứng bệnh hô hấp kéo dài.
Chúng uốn cong
Sự biến dạng móng kiểu hình chiếc thìa này có thể là do di truyền hoặc do tiếp xúc thường xuyên với các sản phẩm ăn da. Trong một số trường hợp, đó là dấu hiệu của thiếu sắt, nhất là ở trẻ em. Sự bất bình thường này có thể xuất hiện thường xuyên ở ngón cái, và có thể tự biến mất.
Chú thích hình: Minh họa các dạng biến đổi của móng, từ trên xuống: các đốm trắng, … hay đen, đường rạch, lượn sóng, khum lên, vàng đi, móng uốn cong, đốm đỏ, chuyển màu xanh.
Thục Anh
|
|
Việt Báo
|
|
00:00 / --:--
|
|
|
|
TIN
![]()
Bạn có thể gửi nhận xét, góp ý hay liên hệ về bài viết
** bằng cách gửi thư điện tử tới Sức khỏe thể hiện trên… móng tay**
Cháu gái ngã xuống hồ đang xả nước, ông tử nạn khi lao theo cứu cháu; Uẩn khúc khám bệnh nhận quà khuyến mãi ở phòng khám tư nhân; Mảnh giấy sót lộ tẩy chiêu đóng giả người thân đoạt tiền người già; Giảm hóa đơn nước tiền triệu cho dân: Tình thương ngành nước
Bị "tố" từ chối cấp cứu bệnh nhân, bác sĩ trạm y tế nói gì?; Hà Nội ngập nặng, dân leo lên xe ủi, chèo xuồng "lướt" phố; Vợ tố bị chồng đánh đến mức phải nhập viện, sảy thai 3 tháng; Vụ tai nạn thảm khốc ở Bình Thuận: Đã có 13 nạn nhân tử vong; Đã giải cứu thành công cá voi nặng 15 tấn mắc cạn
Chết cháy vì không có búa thoát hiểm: Nhà xe kêu khách lấy trộm; Những lần ông Obama tháo nhẫn để bắt tay gây tranh cãi; Hà Nội tiếp tục kiểm tra hoạt động bán hàng đa cấp; Cứu sống bệnh nhân bị gần 20 viên đạn găm khắp người; Cần xử lý thông tin bịa đặt, vu khống trên mạng xã hội
Chuyện những "dân chơi" đặt mua đồ nhưng thản nhiên... quên trả tiền; Vụ tai nạn thảm khốc 12 người chết: Tang thương quê nghèo; Truy sát kinh hoàng ở Cà Mau, nạn nhân bị chém khâu gần 30 mũi; Bê tông hầm chui như "kẹo lạc không đường": Nhiều giả thiết;
Gạo đổi màu xanh khi ngâm nước tại Đà Nẵng: Mất 15 ngày kiểm tra; Xúc xích chứa chất gây ung thư: "Ăn ít cơ thể tự đào thải độc"; Dùng axit tẩy bình rồi đem bán nước lọc đóng chai; Góc khuất đằng sau lời "rao mình" trong "ma trận"... chợ thận online;
Những vụ tai nạn liên quan đến xe khách thường gây ra thương vong lên đến hàng chục người khiến nhiều người thấy bất an, ám ảnh đối với loại phương tiện này.
Nhà Trắng công bố lịch trình chuyến thăm chính thức tới Việt Nam và Nhật Bản của Tổng thống Barack Obama, chuyến thăm thứ 10 của ông tới châu Á.
Từ đầu năm đến nay, hàng loạt vụ học sinh bị xâm hại tình dục khiến nhiều phụ huynh, học sinh hoang mang, lo sợ
Việc đồng bộ bảng, biển quảng cáo đã mang lại diện mạo khác hẳn với vẻ nhếch nhác của nhiều tuyến phố ở Hà Nội hay các đô thị lớn. Tuy nhiên, có không ít ý kiến không đồng tình với việc làm này.
Một vụ bạo lực học đường nghiêm trọng đã xảy ra tại trường THCS 15/10 (Mộc Châu, Sơn La), trong đó một nữ sinh đã thẳng tay tát bạn 52 cái, hộc máu mũi đang thu hút sự quan tâm của dư luận.
Bước khỏi cửa nhà gặp một đứa trẻ bị bỏ rơi còn nguyên dây rốn, bạn có dám bế lên và ngay lập tức nhận cưu mang bé không?
Đâu đó giữa một Hà Nội phồn hoa, nhộn nhịp vẫn còn những con người ngày đêm phải chiến đấu với cái nghiệt ngã ở đời, với căn bệnh quái ác mang tên “suy thận”. Chúng tôi vừa trở về từ chuyến thăm các bệnh nhân ở Xóm chạy thận nằm sâu trong ngõ 121 Lê Thanh Nghị, Hai Bà Trưng, Hà Nội.
Câu chuyện về dãy nhà trọ 15.000 đồng với đầy đủ tiện nghi điều hòa, tivi, bình nước nóng lạnh của ông chủ Nguyễn Thế Hiệp khiến nhiều người không tin...
Cho đến bây giờ, nhiều người vẫn nhớ giọng hát người phụ nữ ấy vút cao tại chương trình kỷ niệm lần thứ 27 Ngày Thế giới phòng chống HIV/AIDS của Đại sứ quán Mỹ tổ chức tại Việt Nam.
Ở tuổi 76 nhưng "bác Lâm" vẫn ngày ngày miệt mài với nghề… tìm hạnh phúc cho những cặp vợ chồng vô sinh, hiếm muộn.
Những hoạt động cũng như các tuyên bố của Tổng thống Obama tại Việt Nam là thông tin nổi bật nhất trên các mặt báo trong tuần vừa qua.
Tai nạn giao thông kinh hoàng ở Bình Thuận; Hà Nội mưa lớn, nhiều tuyến phố biến thành sông; Phụ huynh bức xúc con bị thâm tím người khi từ trường mầm non về; Hình ảnh ấn tượng tại lễ đón chính thức Tổng thống Mỹ ... là những tin tức xã hội nổi bật được dư luận quan tâm trong tuần qua.
Giết người vì tưởng hiếp dâm; Vụ cướp bánh mỳ bị truy tố; Gia đình Minh Béo không phải trả tiền bảo lãnh 100.000 USD; Vụ trộm ô tô vàng chấn động Hà Nội; Dã tâm 'chiều chồng' lúc nửa đêm của người đàn bà ngoại tình; Giả hotgirl khoe thân qua mạng, lừa tiền người háo sắc;....là những tin đáng chú ý.
Chuyến thăm của Tổng thống Mỹ mang lại hiệu ứng lâu dài cho DN Việt; CPI tháng 5 tăng 0,54%, cao nhất trong 5 năm qua; Chính thức mở lại cho vay ngoại tệ từ 1/6; dự án sống lay lắt vì nhà thầu Trung Quốc chậm tiến độ;Tổng số tiền nợ thuế cả nước đã lên ngưỡng 76.000 tỷ đồng... Cùng với đó là những thông tin tài chính- ngân hàng,
Bố vợ chém chết con rể rồi chở xác đến Công an đầu thú; Ông Tây dọn cống thối ở Nguyễn Khang, Hà Nội; Choáng với hóa đơn tiền nước khủng ở Hà Nội; Cá chết ngửa bụng trên kênh Nhiêu Lộc ... là những tin tức xã hội nổi bật được dư luận quan tâm trong tuần qua.
Ý kiến bạn đọc
Viết phản hồi

WARC-Truncated: length

Cache-Control: max-age=280, public

Content-Type: text/html; charset=utf-8


text:
Top Definition
Worst quarterback in Bills hsitory, making Rob Johnson, and even Vince Ferragamo look good by comparison.
J.P. Losman threw another interception, God, he sucks.
viết bởi rollthebones 14 Tháng tư, 2009
Địa chỉ daily@urbandictionary.com sẽ gửi thư cho bạn. Chúng tôi cam kết sẽ không để xảy ra tình trạng gửi thư rác vào hộp mail của bạn.×

markdown:
Top Definition
Worst quarterback in Bills hsitory, making Rob Johnson, and even Vince Ferragamo look good by comparison.
J.P. Losman threw another interception, God, he sucks.
viết bởi
Địa chỉ daily@urbandictionary.com sẽ gửi thư cho bạn. Chúng tôi cam kết sẽ không để xảy ra tình trạng gửi thư rác vào hộp mail của bạn.

X-Content-Type-Options: nosniff

Cache-Control: max-age=3600, public

Via: 1.1 varnish

X-Cache: MISS

Server: Cowboy

X-Frame-Options: SAMEORIGIN

X-Xss-Protection: 1; mode=block

Accept-Ranges: bytes


text:
Hoạt động điều tra về nguyên nhân chiếc máy bay số hiệu MH370 của hãng hàng không Malaysia nay tập chú trở lại tổ bay và hành khách đi trên chiếc máy bay sau khi có tuyên bố của thủ tướng Malaysia rằng hệ thống thông tin liên lạc của chiếc máy bay bị cố ý tắt đi.
Theo thủ tướng Najib Razak của Malaysia thì những hoạt động xảy ra qua những dữ liệu vệ tinh và rada ghi nhận được thì tất cả đều có thể suy diễn là do người nào đó trên chiếc máy bay thực hiện. Do đó mọi điều tra lại tập trung vào tìm hiểu tổ bay và hành khách trên máy bay.
Chuyên gia hàng không Paul Yap tại đại học kỹ thuật Temasek ở Singapore cho rằng hiện nay chỉ còn vài kịch bản cho vụ mất tích chiếc máy bay mà hôm nay bước sang ngày thứ chín. Theo chuyên gia này thì kịch bản thứ nhất những người tham gia vào hoạt động chủ ý vừa nói là phi công lái máy bay, một hoặc cả hai trong buồng lái.
Kịch bản thứ hai là những tên khủng bố buộc phi công chuyển hướng bay và cho tắt mọi thiết bị liên lạc với đe dọa nếu không thực hiện thì chúng sẽ giết các hành khách.
Người ta nhắc lại bốn chiếc máy bay bị không tặc hồi 11 tháng 9 năm 2001, có ba chiếc bị tắt hệ thống thiết bị liên lạc.
Giả thuyết không tặc được nói đến khiến công tác điều tra lại được hướng đến hai hành khách đi trên chiếc máy bay bằng hộ chiếu ăn cắp.
Cảnh sát quốc tế Interpol đã nhận dạng được hai người đó là hai người Iran. Một người tên Seyed Mohammed Reza Delavar sử dụng hộ chiếu ăn cắp của một người Italia và một người tên Puria Nourmohammadi sử dụng hộ chiếu ăn cắp của một người Áo.
Tuy vậy hồi thứ ba trong tuần, Interpol cho rằng cả hai có thể là dân nhập cư lậu đang tìm đường để đến Châu Âu, chứ không phải là những kẻ khủng bố.
Trong khi đó một giáo sư nghiên cứu về khủng bố tại đại học Wollongong của Australia thì lại nói ông này vẫn nghi một âm mưu khủng bố được tổ chức là nguyên nhân của vụ mất tích chiếc máy bay của hãng hàng không Malaysia hôm ngày 8 tháng 3 vừa qua.
Malaysia chưa hề là đích của những vụ tấn công khủng bố lớn lâu nay. Tuy nhiên theo các phân tích gia về khủng bố thì nơi này lại là chỗ ở của một số cá nhân được nói là người điều hành các nhóm khủng bố như nhóm Jemaah Islamiyah.
Trên chiếc máy bay mất tích với 227 hành khách và 12 nhân viên phi hành đoàn, có hơn 150 hành khách là người Trung Quốc.
Chính quyền Bắc Kinh hiện đang phải đối phó với làn sóng phẩn nộ của người Uighur theo Hồi giáo tại khu vực Tân Cương. Sắc tộc thiểu số này lên tiếng cho rằng chính quyền Trung Quốc lâu nay đàn áp họ.
Nhiều vụ tấn công khủng bố tại Trung Quốc được cho là do người Uighur tiến hành. Vụ gây chấn động gần nhất là một nhóm chừng chục người Uighur đã dùng dao tấn công vào hành khách tại nhà ga xe lửa ở thành phố Côn Minh, tỉnh Vân Nam hồi ngày 1 tháng 3 vừa qua khiến cho 29 người thiệt mạng và hơn 100 người khác bị thương.
Kể từ năm 2011, Malaysia đã trục xuất ít nhất 17 người Uighur Hồi giáo đến nước này bằng hộ chiếu giả.
Sau công bố của thủ tướng Malaysia hôm qua về việc hệ thống liên lạc của chiếc máy bay mất tích bị cố tình tắt và sau đó còn bay hơn sáu tiếng đồng hồ, một số chuyên gia thận trọng đưa ra cảnh báo là khoan vội đi đến kết luận chiếc máy bay mất tích là do khủng bố gây nên.

X-Cache-Lookup: MISS from localhost:8100

Server: Zope/(2.13.23, python 2.7.6, linux2) ZServer/1.1

Via: 1.1 localhost (squid/3.3.8)


text:
John Langdon Down
John Langdon Haydon Down (18 tháng 11, 1828 - 07 tháng 10 1896) là một bác sĩ người Anh nổi tiếng với mô tả của ông về một rối loạn di truyền tương đối phổ biến mà bây giờ được gọi là hội chứng Down.
Học vấn[sửa | sửa mã nguồn]
Down sinh ra tại Torpoint, Cornwall. Bên nội ông có gốc Ailen, ông kỵ của ông là giám mục Tin lành của Derry. Con gái của em gái của ông cuối cùng đã kết hôn vào các gia đình Adrian, Darwin và Keynes. John đã học tại các trường học địa phương bao gồm các trường học cổ điển và toán học Devonport. Ở tuổi 14, ông được học nghề từ cha của mình, bào chế thuốc làng Anthony St Jacob. Các vị đại diện cho ông một món quà vật lý của Arnott đã khiến ông quyết định để có một sự nghiệp khoa học. Ở tuổi 18, ông đến London, nơi ông có một vị trí công việc cho một bác sĩ phẫu thuật trong đường Whitechapel, nơi ông chuyên lấy máu xét nghiệm của bệnh nhân, nhổ răng, rửa chai và phân phát thuốc. Sau đó, ông bước vào phòng thí nghiệm dược phẩm trong Bloomsbury Square và đã giành được giải thưởng dành cho hóa học hữu cơ. Ông cũng đã gặp Michael Faraday và giúp ông với công việc của mình về khí. Hơn một lần, ông đã được gọi trở lại Torpoint để giúp cha mình trong kinh doanh cho đến khi ông qua đời vào năm 1853. Down đã có thể thích một nghề nghiệp trong khoa học nhưng trong những ngày có vài triển vọng tiềm năng cho một nghề nghiệp trong ngành hóa học.

markdown:
# John Langdon Down
**John Langdon Haydon Down** (18 tháng 11, 1828 - 07 tháng 10 1896) là một bác sĩ [người Anh](/wiki/Ng%C6%B0%E1%BB%9Di_Anh) nổi tiếng với mô tả của ông về một rối loạn di truyền tương đối phổ biến mà bây giờ được gọi là [hội chứng Down](/wiki/H%E1%BB%99i_ch%E1%BB%A9ng_Down).
## Học vấn[
[sửa](/w/index.php?title=John_Langdon_Down&veaction=edit&vesection=1) | [sửa mã nguồn](/w/index.php?title=John_Langdon_Down&action=edit§ion=1)]
Down sinh ra tại Torpoint,
[Cornwall](/wiki/Cornwall). Bên nội ông có gốc Ailen, ông kỵ của ông là giám mục Tin lành của Derry. Con gái của em gái của ông cuối cùng đã kết hôn vào các gia đình Adrian, Darwin và Keynes. John đã học tại các trường học địa phương bao gồm các trường học cổ điển và toán học Devonport. Ở tuổi 14, ông được học nghề từ cha của mình, bào chế thuốc làng Anthony St Jacob. Các vị đại diện cho ông một món quà vật lý của Arnott đã khiến ông quyết định để có một sự nghiệp khoa học. Ở tuổi 18, ông đến London, nơi ông có một vị trí công việc cho một bác sĩ phẫu thuật trong đường Whitechapel, nơi ông chuyên lấy máu xét nghiệm của bệnh nhân, nhổ răng, rửa chai và phân phát thuốc. Sau đó, ông bước vào phòng thí nghiệm dược phẩm trong Bloomsbury Square và đã giành được giải thưởng dành cho hóa học hữu cơ. Ông cũng đã gặp Michael Faraday và giúp ông với công việc của mình về khí. Hơn một lần, ông đã được gọi trở lại Torpoint để giúp cha mình trong kinh doanh cho đến khi ông qua đời vào năm 1853. Down đã có thể thích một nghề nghiệp trong khoa học nhưng trong những ngày có vài triển vọng tiềm năng cho một nghề nghiệp trong ngành hóa học.

Set-Cookie: GeoIP=US:VA:Ashburn:39.02:-77.54:v4; Path=/; secure; Domain=.wikipedia.org

Cache-Control: private, s-maxage=0, max-age=0, must-revalidate

P3P: CP="This is not a P3P policy! See https://vi.wikipedia.org/wiki/%C4%90%E1%BA%B7c_bi%E1%BB%87t:CentralAutoLogin/P3P for more info."

Via: 1.1 varnish, 1.1 varnish

Content-Language: vi

X-UA-Compatible: IE=Edge

X-Cache: cp1068 miss, cp1068 miss

Vary: Accept-Encoding,Cookie,Authorization


text:
-
Không có phim này. Vui lòng tìm từ khóa khác. Hoặc xem video bên dưới
No results.
Kết quả tìm phim xem phim hoat hinh chu meo may rocky tap 1
Xin chờ...
-
Người Đàn Bà Cuồng Dâm
-
Lan Quế Phường 3
-
Bí Mật Một Gia Đình
-
Lie With me
-
Tình Thầy Trò
-
Cô Hàng Xóm
-
Người Hầu Gái
-
Mẹ kế 2
-
Vương Quốc Dục Cảm
-
Bà Mẹ Trẻ
-
Mùa hè rực cháy
-
Bí Ẩn Hình Xăm
-
Vũ Khí Siêu Hạng
-
Một Thời Hoàng Kim
-
Truy Sát Ông Trùm 2
-
Sắc giới
-
Phim cấp 3
-
Bậc Thầy Chia Tay
-
Kẻ Tống Tình
-
Vợ Chồng Dân Chơi
-
Hot Girl Siêu Quậy
-
Cô Hàng Xóm
-
Cô Nàng Bá Đạo
-
30 Vẫn Còn Xuân
-
Em Đẹp Nhất Đêm Nay
-
Đêm vui bất ngờ
-
Tuổi Nổi Loạn Phần 2
-
Truy Sát Ông Trùm 2

markdown:
-
Không có phim này. Vui lòng tìm từ khóa khác. Hoặc xem video bên dưới
No results.
#### Kết quả tìm phim xem phim hoat hinh chu meo may rocky tap 1
Xin chờ...
-
[Người Đàn Bà Cuồng Dâm](/movie/nguoi-dan-ba-cuong-dam)
-
[Lan Quế Phường 3](/movie/lan-que-phuong-3)
-
[Bí Mật Một Gia Đình](/movie/bi-mat-mot-gia-dinh)
-
[Lie With me](/movie/lie-with-me)
-
[Tình Thầy Trò](/movie/tinh-thay-tro)
-
[Cô Hàng Xóm](/movie/co-hang-xom-hq)
-
[Người Hầu Gái](/movie/nguoi-hau-gai)
-
[Mẹ kế 2](/movie/me-ke-2)
-
[Vương Quốc Dục Cảm](/movie/vuong-quoc-duc-cam)
-
[Bà Mẹ Trẻ](/movie/ba-me-tre)
-
[Mùa hè rực cháy](/movie/mua-he-nong-bong)
-
[Bí Ẩn Hình Xăm](/movie/bi-an-hinh-xam)
-
[Vũ Khí Siêu Hạng](/movie/vu-khi-sieu-hang)
-
[Một Thời Hoàng Kim](/movie/mot-thoi-hoang-kim)
-
[Truy Sát Ông Trùm 2](/movie/truy-sat-ong-trum-2)
-
[Sắc giới](/movie/sac-gioi)
-
[Phim cấp 3](/movie/phim-cap-3)
-
[Bậc Thầy Chia Tay](/movie/bac-thay-chia-tay)
-
[Kẻ Tống Tình](/movie/ke-tong-tinh)
-
[Vợ Chồng Dân Chơi](/movie/vo-chong-dan-choi)
-
[Hot Girl Siêu Quậy](/movie/hot-girl-sieu-quay)
-
[Cô Hàng Xóm](/movie/co-hang-xom-hq)
-
[Cô Nàng Bá Đạo](/movie/co-nang-ba-dao)
-
[30 Vẫn Còn Xuân](/movie/30-van-con-xuan)
-
[Em Đẹp Nhất Đêm Nay](/movie/em-dep-nhat-dem-nay)
-
[Đêm vui bất ngờ](/movie/mot-dem-vui-ve)
-
[Tuổi Nổi Loạn Phần 2](/movie/tuoi-noi-loan-2)
-
[Truy Sát Ông Trùm 2](/movie/truy-sat-ong-trum-2)

Server: cloudflare-nginx

Pragma: no-cache

Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0


text:
- 11:38 PM 20/11/2009 #1
Có chị nào có kinh nghiệm truyền cho em được không ạ.
Tụi em yêu nhau được một năm thì chia tay. Từ hôm chia tay đến giờ là 3 tháng 13 ngày.
Anh ấy đã kịp quên em, kịp có người yêu mới.
Còn em sao ko hề suy suyển. Tình cảm vẫn y nguyên như ngày xưa.
Em lao vào công việc. Vắt hết sức mình để làm việc.
Học những cái mới, như học chụp ảnh, học photoshop.
Chơi facebook và đủ thứ game để tránh suy nghĩ.
Nhưng không tránh được những khoảng lặng trống trải. Những lúc đó lại nghĩ, lại khóc, lại đau đớn.
Suốt 3 tháng nay rồi. Em không chịu nổi nữa. Anh ấy có vẻ hạnh phúc bên người mới.
Bọn em ko gặp nhau. Ko liên lạc với nhau.
Sao em cứ nhớ hoài?
Em cố nghĩ về những điều xấu xí của anh ấy.
Vô ích. Những điều đáng yêu vẫn nổi trội hơn.
Cố tạo những mối quan hệ mới.
Vô ích. Họ rất rỗng tuếch, không như anh ấy.
Cố giữ mình bận rộn.
Em bận phát điên ý chứ.
Có thể 3 tháng là ngắn so với việc quên một ai đó. Nhưng thà nguôi ngoai một chút cho em hi vọng.
Đằng này cứ mãi đau khổ.
Ra khỏi nhà thì cười rất tươi với mọi người, vui vẻ, hòa đồng.
Nhưng khi về nhà lại đóng cửa ngồi khóc một mình.
Mỗi lần nhớ quá chịu ko nổi lại email cho anh ấy, nhưng mail vào cái hộp thư anh ấy đã bỏ đi, vì ko muốn anh đọc được. Ko muốn anh thấy mình thảm hại như vậy.
Em sắp điên lên rồi.
GIÚP EM VỚI!!!!!!!!!!!!
-
CHỦ ĐỀ NỔI BẬT TRÊN WEBTRETHO
-
- 11:44 PM 20/11/2009 #2
Chia buồn với em nhé!
Để quên 1 người, khó lắm em ạ. Nhất là với phụ nữ. Mà tại sao em phải quên nào? Chẳng có cách giải quyết rắc rối nào tốt nhất bằng cách đi xuyên thẳng qua nó.
Em và anh ấy không thể quay lại được nữa, đúng không nào?
Em vẫn còn yêu anh ấy, đúng không nào?
Đừng cố gì cả. Thư giãn đi. Hãy làm những gì mình thật sự thích.
Em phải học cách chấp nhận sự thật. Nó là như thế nào thì từ từ tìm hiểu. Nếu vẫn không hiểu thì mai anh sẽ nói.
Tặng em :rose:
- 11:51 PM 20/11/2009 #3
Bình tĩnh cô em! Mọi chuyện rồi sẽ qua thôi! Thời gian sẽ xoa dịu tất cả cho dù mình ko cần phải cố gắng. Chị cũng một thời như em nên chị hiểu tâm trạng của em lúc này! Đến một lúc nào đó khi mọi chuyện đã nguôi ngoai đi, nhìn lại em sẽ thấy mình đã vượt qua được ở một khoảnh khắc thời gian nào mình cũng ko rõ nữa! Chị đã từng như em, ko ngủ được, bình thường gặp mọi người cười nói suốt nhưng chẳng biết mình cười gì, nói gì. Đêm nào cũng khóc, khóc từ đêm giao thừa đến hết mùng 5 tết. Có lúc lại cảm giác trống rỗng vô hồn, ko cảm giác. Qua cảm giác trống rỗng đó là đau đến nghẹt thở.
Rồi em sẽ còn nhiều lựa chọn phía trước. Sang bên mục Thư giãn của WTT mà chơi khi rảnh, quên sầu ngay:Laughing:
Em sẽ làm được!
- 11:56 PM 20/11/2009 #4
Cách quên nhanh nhất là tìm 1 cuộc tình mới ( như anh ta ý). Trước đây vì người yêu cũ hiểu lầm tớ nên bọn tớ chia tay trong nước mắt ... buồn và khóc mất 1 tuần rồi lại gặp kì thi nên tớ lao vào học , rồi chơi với bọn ở lớp cũng thấy vui chán. 3 tháng sau thì gặp chồng tớ bây giờ.. hehe... Đừng buồn bạn nhé. Đôi khi mình nên " thả con săn sắt, bắt con cá rô" con cá tuột chắc gì đã là con cá to hả bạn . Vui lên đi bạnimg]http://lb1m.lilypie.com/TikiPic.php/LtgTVvz.jpg[/img]
- 11:59 PM 20/11/2009 #5
Kiếm 1 thằng hơn thằng đấy về mọi mặt là quên đc ngay!
- 12:00 AM 21/11/2009 #6
- 12:02 AM 21/11/2009 #7
- 12:48 AM 21/11/2009 #8
Không phải làm gì cả em ơi.. càng làm càng không thể quên được (ko nên nghĩ xấu vì dẫu sao anh ta cũng là người mình rất yêu; ko nên vội vã đi gặp người mới vì hình ảnh cũ chưa nhạt thì ko tránh khỏi việc so bì và cảm thấy ko ai bằng người xưa..). Khi đã là người ngoài cuộc thì ai nói cũng đúng và bản thân em cũng biết những điều đó là đúng.. Chị đã từng trong cuộc, cách đây 6 tháng và hơn 1 tháng trước cũng biết ex có người yêu, cũng trống trải, cũng cảm giác khó thở muốn chết nghẹt; cũng cảm thấy tức và khó chịu khi hắn có người mới, nhưng rồi thời gian sẽ thực hiện vô cùng tốt nhiệm vụ của nó.. Có điều, em nên nhìn thẳng vào vấn đề, bạn trai cũ của em hiện đã có tình yêu mới, có người ôm ấp khi đông về, còn mình, mình phải tự thương lấy mình trước tiên, em còn đau khổ, mềm yếu, những người thân xung quanh em sẽ còn lo lắng hơn rất nhiều.. Vững vàng lên em nhé.. mọi chuyện cũng sẽ qua thôi..
Tặng em bài hát này chị đã từng nghe rất nhiều khi mới chia tay (bây giờ thì nghe thấy quá chuối..)
http://www.nhaccuatui.com/nghe?M=dCo0MSU12RĐã hết buồn và hết vấn vương
Đã hết hờn giận hết nhớ thương
:Rose::Rose::Rose:
- 12:51 AM 21/11/2009 #9
- 12:56 AM 21/11/2009 #10
Quên hẳn thì khó lắm. Nhưng thời gian phần nào sẽ làm phai nhạt những đớn đau chị đang mang........
Để 1 thời gian nữa xem sao........Haizzzz
Hãy thả lỏng.... Lúc nào buồn, lúc nào khóc thì cố dùng lý trí để buộc mình làm điều gì đó. Dần dần cũng quen..........!
Chỉnh sửa lần cuối bởi Small.Lady1988; 21/11/2009 vào lúc 12:58 AM.
- 02:48 AM 21/11/2009 #11
Thời gian là liều thuốc tốt nhất cho tất cả mọi người khi tan vỡ trong tình yêu em ơi, không có cách nào khác được. Em càng cố chạy trốn và muốn quên nhanh, tức là em đang còn nghĩ về người ta dài dài. Mỗi lúc mình tự thúc giục bản thân mình quên người ta, lại chính là 1 lần mình khơi lại ý nghĩ về người ta, thế nên mới có những bài hát người ta hay bảo càng quên thì càng nhớ đấy thôi. Giờ thế này em nhé, em cứ vô tư đi, cứ để nỗi nhớ tự nhiên tràn về mỗi khi tâm trí và trái tim mình nó muốn, chỉ cần em đừng bỏ thời gian để ngồi cố gắng suy nghĩ về những kỉ niệm của 2 đứa là được.
Hãy đối diện với hiện tại là dù kỉ niệm gì, lòng tốt gì, ... thì hiện giờ anh ta không còn thuộc về mình nữa, và mình phải sống tốt khi không có anh ta, biết đâu sau này mình sẽ gặp người tốt hơn anh ta và thầm cảm ơn anh ta rằng - nhờ ngày ấy chia tay anh ta mà bây giờ mình gặp được tình yêu đích thực. Bởi với chị, tình yêu đích thực luôn ở tại chính thời điểm mình cảm thấy được hạnh phúc, lúc đó thì tình yêu ấy là đích thực. Và cái đích thực cuối cùng là lúc mình hết thở, :Laughing: hihi Vui lên em nhé.
- 09:49 AM 21/11/2009 #12
Cố quên nhanh đi em gái, sẽ tốt cho em hơn. Cứ ủ ê đau đớn, chỉ khổ và hại người thêm thôi.
Em cứ để ý xem, thi thoảng lại có 1 Tóp hỏi làm thế nào để bớt đau khổ khi chia tay. ( Dạo trước chị cũng có 1 tóp mà :Smiling. Chứng tỏ chuyện yêu nhau ròi chia tay ko hiếm đâu em, hãy coi như là sự thử thách của số phận đi. Chúc e sớm vượt qua nhé.Trở về dòng sông tuổi thơ....
- 10:23 AM 21/11/2009 #13
Minh cung da tung nhu ban nen minh cung hieu duoc tam trang cua ban luc nay,do vo trong tinh yeu cung la dieu binh thuong thoi ma,co dau kho day nhung roi thoi gian no se lam lanh tat ca thoi.bạn chỉ mất đi một người không yêu bạn, nhưng người đó đã mất đi một người yêu họ.
Mất một người không biết trân quý bạn, có gì phải buồn rầu?
Bởi bạn còn cơ hội, một lần nữa, gặp người biết rằng bạn quý giá.Sau nay khi nghi lai ban se thay cam on nguoi yeu cu vi nho co lan chia tay do ma ban gap duoc nguoi dan ong cua ban(chong ban chang han).vui len nao!Moi chuyen la duyen so roi.co gang song tot vi gia dinh ban be
- 10:27 AM 21/11/2009 #14
Dẫu biết rằng cố quên là sẽ nhớ,
Nên dặn lòng cố nhớ để mà quên.
Nếu không thể quên thì hãy cứ nhớ, chả việc gì phải quên, gặm nhấm nỗi buồn, nỗi đau đôi khi cũng là cái thú.
- 12:08 PM 21/11/2009 #15
Mình cũng như chủ top,cũng từng đau khổ,vật vã suốt thời gian chia tay cho đến nay vẫn chưa thể nào nguôi thương nhớ. Ngta đã mau chóng rủ bỏ tấc cả những vì thuộc về mình để có tyêu mới.lúc trước mình cũng có cái topic như chủ top nhưng dần mình phát hiện mình fai sống thật tốt để sau này gặp lại ngta phải hối tiếc bạn ah.mặc dù mình rất yêu nhưng giờ gặp lại ngta mình vẫn cố xem như bthuong k chuyện j xảy ra.mới cách đây k lâu mình có gặp hắn,mình k nc mặc dù ngồi chung bàn.cố tỏ ra bình tỉnh nhưng trong lòng đau lắm.
Vì thế bạn đừng cố quên càng cố quên là càng nhớ,hãy khóc nếu bạn thích hãy vui nếu bạn thích làm j thì làm.chúc bạn thành công.
- 12:13 PM 21/11/2009 #16
Hãy luôn là chính bản thân mình, ngày trước mình rất khổ sở để quên, thật ra mình nghĩ hãy luôn đối mặt, đừng để kỷ niệm thiêu cháy mình, bởi càng nhớ nhiều về kỷ niệm niềm đau càng lớn hơn. Hãy sống va có bạn bè ở bên, tham gia chơi với những người bạn, các hoạt động xã hội. Đừng cố gắng quên, để trái tim kiên cường lên bạn, càng chốn tránh càng nhớ,
Căn bản chính là trái tim bạn, Nó phải biết tự vươn lên, không ai có thể giúp bạn hơn chíh bản thân bạn, Nhìn nhận thẳng thắn vào vấn đề, Hai người đã chia tay, ata đã có người yêu mới, khổ sở, nhớ thương ata còn ích gì,
Hãy thoát ra đi bạn, giờ mình thấy rằng sao ngày xưa mình ngốc nghếch vậy,
Cố lên bạn nhé!
- 12:21 PM 21/11/2009 #17
Rồi mọi chuyện cũng sẽ là quá khứ !!! Em sẽ gặp dc một nửa thật sự của mình .... Hãy vững vàng lên nhé em !!! Chúc em vui....."在 每 个 想 念 的 日 子 想 你 不 容 易 不 想 你 更 难 ~ 愿 意 一 片 难 懂 的 心 情 ~ 深 深 思 念 你 。"
- 12:47 PM 21/11/2009 #18
Uh theo mình thì hãy nên đối diện với tình cảm của mình, đừng lảng tránh nó,và cứ coi nó như một kỷ niệm đẹp thôi, mình tin thời gian sẽ làm nỗi đâu nguôi ngoai, và bạn hãy tin rằng bạn đã gặp may khi đã chia tay với người ấy(mình nghĩ người ấy không dành nhiều tình cảm cho bạn). Mình tin rồi một chàng trai yêu bạn thất sự sẽ đến với bạn. Chúc bạn luôn vui vẻ.
- 01:32 PM 21/11/2009 #19
"Dù biết rằng cố quên là sẽ nhớ
Nên dặn lòng cố nhớ để mà quên"
hãy nhìn thẳng vào sự thật chị ạ,cuộc sống còn dài và còn nhiều đang chờ đón chị,biết đâu ở 1 nơi nào đó có 1 ng thực sự yêu chị đang chờ đón chị.người kia đã có ty mới chắc gì họ đã nhớ đến mình và chắc gì có biết mình đang đau khổ ntn,vậy thì tội gì phải khổ,hãy nghĩ rằng mình đáng được yêu và được yêu thật lòng.chúc chị hạnh phúc
- 01:36 PM 21/11/2009 #20
trùi ui có gì là khó đâu nhỉ? yêu 1 người khác thế là quên ngay người cũ thôi mà. ko yêu nổi người khác thì đối diện với sự việc đi, càng chốn tránh càng khó quên à>
Chuyện tình yêuĐến trả lời mới nhất
Làm thế nào để quên được người mình yêu?
- 9.68K Lượt đọc
- 20 Trả lời
Những con người thật sự, những chia sẻ thật lòng từ hơn 1 triệu phụ nữ Việt Nam
Theo dõi Góc Tâm Sự

markdown:
- 11:38 PM 20/11/2009
[#1]
Có chị nào có kinh nghiệm truyền cho em được không ạ.
Tụi em yêu nhau được một năm thì chia tay. Từ hôm chia tay đến giờ là 3 tháng 13 ngày.
Anh ấy đã kịp quên em, kịp có người yêu mới.
Còn em sao ko hề suy suyển. Tình cảm vẫn y nguyên như ngày xưa.
Em lao vào công việc. Vắt hết sức mình để làm việc.
Học những cái mới, như học chụp ảnh, học photoshop.
Chơi facebook và đủ thứ game để tránh suy nghĩ.
Nhưng không tránh được những khoảng lặng trống trải. Những lúc đó lại nghĩ, lại khóc, lại đau đớn.
Suốt 3 tháng nay rồi. Em không chịu nổi nữa. Anh ấy có vẻ hạnh phúc bên người mới.
Bọn em ko gặp nhau. Ko liên lạc với nhau.
Sao em cứ nhớ hoài?
Em cố nghĩ về những điều xấu xí của anh ấy.
Vô ích. Những điều đáng yêu vẫn nổi trội hơn.
Cố tạo những mối quan hệ mới.
Vô ích. Họ rất rỗng tuếch, không như anh ấy.
Cố giữ mình bận rộn.
Em bận phát điên ý chứ.
Có thể 3 tháng là ngắn so với việc quên một ai đó. Nhưng thà nguôi ngoai một chút cho em hi vọng.
Đằng này cứ mãi đau khổ.
Ra khỏi nhà thì cười rất tươi với mọi người, vui vẻ, hòa đồng.
Nhưng khi về nhà lại đóng cửa ngồi khóc một mình.
Mỗi lần nhớ quá chịu ko nổi lại email cho anh ấy, nhưng mail vào cái hộp thư anh ấy đã bỏ đi, vì ko muốn anh đọc được. Ko muốn anh thấy mình thảm hại như vậy.
Em sắp điên lên rồi.
GIÚP EM VỚI!!!!!!!!!!!!
-
## CHỦ ĐỀ NỔI BẬT TRÊN WEBTRETHO
-
- 11:44 PM 20/11/2009
[#2]
Chia buồn với em nhé!
Để quên 1 người, khó lắm em ạ. Nhất là với phụ nữ. Mà tại sao em phải quên nào? Chẳng có cách giải quyết rắc rối nào tốt nhất bằng cách đi xuyên thẳng qua nó.
Em và anh ấy không thể quay lại được nữa, đúng không nào?
Em vẫn còn yêu anh ấy, đúng không nào?
Đừng cố gì cả. Thư giãn đi. Hãy làm những gì mình thật sự thích.
Em phải học cách chấp nhận sự thật. Nó là như thế nào thì từ từ tìm hiểu. Nếu vẫn không hiểu thì mai anh sẽ nói.
Tặng em :rose:
- 11:51 PM 20/11/2009
[#3]
Bình tĩnh cô em! Mọi chuyện rồi sẽ qua thôi! Thời gian sẽ xoa dịu tất cả cho dù mình ko cần phải cố gắng. Chị cũng một thời như em nên chị hiểu tâm trạng của em lúc này! Đến một lúc nào đó khi mọi chuyện đã nguôi ngoai đi, nhìn lại em sẽ thấy mình đã vượt qua được ở một khoảnh khắc thời gian nào mình cũng ko rõ nữa! Chị đã từng như em, ko ngủ được, bình thường gặp mọi người cười nói suốt nhưng chẳng biết mình cười gì, nói gì. Đêm nào cũng khóc, khóc từ đêm giao thừa đến hết mùng 5 tết. Có lúc lại cảm giác trống rỗng vô hồn, ko cảm giác. Qua cảm giác trống rỗng đó là đau đến nghẹt thở.
Rồi em sẽ còn nhiều lựa chọn phía trước. Sang bên mục Thư giãn của WTT mà chơi khi rảnh, quên sầu ngay:Laughing:
Em sẽ làm được!
- 11:56 PM 20/11/2009
[#4]
Cách quên nhanh nhất là tìm 1 cuộc tình mới ( như anh ta ý). Trước đây vì người yêu cũ hiểu lầm tớ nên bọn tớ chia tay trong nước mắt ... buồn và khóc mất 1 tuần rồi lại gặp kì thi nên tớ lao vào học , rồi chơi với bọn ở lớp cũng thấy vui chán. 3 tháng sau thì gặp chồng tớ bây giờ.. hehe... Đừng buồn bạn nhé. Đôi khi mình nên " thả con săn sắt, bắt con cá rô" con cá tuột chắc gì đã là con cá to hả bạn . Vui lên đi bạnimg]http://lb1m.lilypie.com/TikiPic.php/LtgTVvz.jpg[/img]
- 11:59 PM 20/11/2009
[#5]
Kiếm 1 thằng hơn thằng đấy về mọi mặt là quên đc ngay!
- 12:00 AM 21/11/2009
[#6]
- 12:02 AM 21/11/2009
[#7]
- 12:48 AM 21/11/2009
[#8]
Không phải làm gì cả em ơi.. càng làm càng không thể quên được (ko nên nghĩ xấu vì dẫu sao anh ta cũng là người mình rất yêu; ko nên vội vã đi gặp người mới vì hình ảnh cũ chưa nhạt thì ko tránh khỏi việc so bì và cảm thấy ko ai bằng người xưa..). Khi đã là người ngoài cuộc thì ai nói cũng đúng và bản thân em cũng biết những điều đó là đúng.. Chị đã từng trong cuộc, cách đây 6 tháng và hơn 1 tháng trước cũng biết ex có người yêu, cũng trống trải, cũng cảm giác khó thở muốn chết nghẹt; cũng cảm thấy tức và khó chịu khi hắn có người mới, nhưng rồi thời gian sẽ thực hiện vô cùng tốt nhiệm vụ của nó.. Có điều, em nên nhìn thẳng vào vấn đề, bạn trai cũ của em hiện đã có tình yêu mới, có người ôm ấp khi đông về, còn mình, mình phải tự thương lấy mình trước tiên, em còn đau khổ, mềm yếu, những người thân xung quanh em sẽ còn lo lắng hơn rất nhiều.. Vững vàng lên em nhé.. mọi chuyện cũng sẽ qua thôi..
Tặng em bài hát này chị đã từng nghe rất nhiều khi mới chia tay (bây giờ thì nghe thấy quá chuối..
)
[http://www.nhaccuatui.com/nghe?M=dCo0MSU12R](http://webtretho.com/forum/links.php?url=http://www.nhaccuatui.com/nghe?M=dCo0MSU12R) **Đã hết buồn và hết vấn vương**
Đã hết hờn giận hết nhớ thương
:Rose::Rose::Rose:
- 12:51 AM 21/11/2009
[#9]
- 12:56 AM 21/11/2009
[#10]
Quên hẳn thì khó lắm. Nhưng thời gian phần nào sẽ làm phai nhạt những đớn đau chị đang mang........
Để 1 thời gian nữa xem sao........Haizzzz
Hãy thả lỏng.... Lúc nào buồn, lúc nào khóc thì cố dùng lý trí để buộc mình làm điều gì đó. Dần dần cũng quen..........!
Chỉnh sửa lần cuối bởi Small.Lady1988; 21/11/2009 vào lúc 12:58 AM.
- 02:48 AM 21/11/2009
[#11]
Thời gian là liều thuốc tốt nhất cho tất cả mọi người khi tan vỡ trong tình yêu em ơi, không có cách nào khác được. Em càng cố chạy trốn và muốn quên nhanh, tức là em đang còn nghĩ về người ta dài dài. Mỗi lúc mình tự thúc giục bản thân mình quên người ta, lại chính là 1 lần mình khơi lại ý nghĩ về người ta, thế nên mới có những bài hát người ta hay bảo càng quên thì càng nhớ đấy thôi. Giờ thế này em nhé, em cứ vô tư đi, cứ để nỗi nhớ tự nhiên tràn về mỗi khi tâm trí và trái tim mình nó muốn, chỉ cần em đừng bỏ thời gian để ngồi cố gắng suy nghĩ về những kỉ niệm của 2 đứa là được.
Hãy đối diện với hiện tại là dù kỉ niệm gì, lòng tốt gì, ... thì hiện giờ anh ta không còn thuộc về mình nữa, và mình phải sống tốt khi không có anh ta, biết đâu sau này mình sẽ gặp người tốt hơn anh ta và thầm cảm ơn anh ta rằng - nhờ ngày ấy chia tay anh ta mà bây giờ mình gặp được tình yêu đích thực. Bởi với chị, tình yêu đích thực luôn ở tại chính thời điểm mình cảm thấy được hạnh phúc, lúc đó thì tình yêu ấy là đích thực. Và cái đích thực cuối cùng là lúc mình hết thở, :Laughing: hihi Vui lên em nhé.
- 09:49 AM 21/11/2009
[#12]
Cố quên nhanh đi em gái, sẽ tốt cho em hơn. Cứ ủ ê đau đớn, chỉ khổ và hại người thêm thôi.
Em cứ để ý xem, thi thoảng lại có 1 Tóp hỏi làm thế nào để bớt đau khổ khi chia tay. ( Dạo trước chị cũng có 1 tóp mà :Smiling
. Chứng tỏ chuyện yêu nhau ròi chia tay ko hiếm đâu em, hãy coi như là sự thử thách của số phận đi. Chúc e sớm vượt qua nhé.
*Trở về dòng sông tuổi thơ....*
- 10:23 AM 21/11/2009
[#13]
Minh cung da tung nhu ban nen minh cung hieu duoc tam trang cua ban luc nay,do vo trong tinh yeu cung la dieu binh thuong thoi ma,co dau kho day nhung roi thoi gian no se lam lanh tat ca thoi.bạn chỉ mất đi một người không yêu bạn, nhưng người đó đã mất đi một người yêu họ.
Mất một người không biết trân quý bạn, có gì phải buồn rầu?
Bởi bạn còn cơ hội, một lần nữa, gặp người biết rằng bạn quý giá.Sau nay khi nghi lai ban se thay cam on nguoi yeu cu vi nho co lan chia tay do ma ban gap duoc nguoi dan ong cua ban(chong ban chang han).vui len nao!Moi chuyen la duyen so roi.co gang song tot vi gia dinh ban be
- 10:27 AM 21/11/2009
[#14] **Dẫu biết rằng cố quên là sẽ nhớ,**
Nên dặn lòng cố nhớ để mà quên.
Nếu không thể quên thì hãy cứ nhớ, chả việc gì phải quên, gặm nhấm nỗi buồn, nỗi đau đôi khi cũng là cái thú.
- 12:08 PM 21/11/2009
[#15]
Mình cũng như chủ top,cũng từng đau khổ,vật vã suốt thời gian chia tay cho đến nay vẫn chưa thể nào nguôi thương nhớ. Ngta đã mau chóng rủ bỏ tấc cả những vì thuộc về mình để có tyêu mới.lúc trước mình cũng có cái topic như chủ top nhưng dần mình phát hiện mình fai sống thật tốt để sau này gặp lại ngta phải hối tiếc bạn ah.mặc dù mình rất yêu nhưng giờ gặp lại ngta mình vẫn cố xem như bthuong k chuyện j xảy ra.mới cách đây k lâu mình có gặp hắn,mình k nc mặc dù ngồi chung bàn.cố tỏ ra bình tỉnh nhưng trong lòng đau lắm.
Vì thế bạn đừng cố quên càng cố quên là càng nhớ,hãy khóc nếu bạn thích hãy vui nếu bạn thích làm j thì làm.chúc bạn thành công.
- 12:13 PM 21/11/2009
[#16]
Hãy luôn là chính bản thân mình, ngày trước mình rất khổ sở để quên, thật ra mình nghĩ hãy luôn đối mặt, đừng để kỷ niệm thiêu cháy mình, bởi càng nhớ nhiều về kỷ niệm niềm đau càng lớn hơn. Hãy sống va có bạn bè ở bên, tham gia chơi với những người bạn, các hoạt động xã hội. Đừng cố gắng quên, để trái tim kiên cường lên bạn, càng chốn tránh càng nhớ,
Căn bản chính là trái tim bạn, Nó phải biết tự vươn lên, không ai có thể giúp bạn hơn chíh bản thân bạn, Nhìn nhận thẳng thắn vào vấn đề, Hai người đã chia tay, ata đã có người yêu mới, khổ sở, nhớ thương ata còn ích gì,
Hãy thoát ra đi bạn, giờ mình thấy rằng sao ngày xưa mình ngốc nghếch vậy,
Cố lên bạn nhé!
- 12:21 PM 21/11/2009
[#17]
Rồi mọi chuyện cũng sẽ là quá khứ !!! Em sẽ gặp dc một nửa thật sự của mình .... Hãy vững vàng lên nhé em !!! Chúc em vui....."在 每 个 想 念 的 日 子 想 你 不 容 易 不 想 你 更 难 ~ 愿 意 一 片 难 懂 的 心 情 ~ 深 深 思 念 你 。"
- 12:47 PM 21/11/2009
[#18]
Uh theo mình thì hãy nên đối diện với tình cảm của mình, đừng lảng tránh nó,và cứ coi nó như một kỷ niệm đẹp thôi, mình tin thời gian sẽ làm nỗi đâu nguôi ngoai, và bạn hãy tin rằng bạn đã gặp may khi đã chia tay với người ấy(mình nghĩ người ấy không dành nhiều tình cảm cho bạn). Mình tin rồi một chàng trai yêu bạn thất sự sẽ đến với bạn. Chúc bạn luôn vui vẻ.
- 01:32 PM 21/11/2009
[#19]
"Dù biết rằng cố quên là sẽ nhớ
Nên dặn lòng cố nhớ để mà quên"
hãy nhìn thẳng vào sự thật chị ạ,cuộc sống còn dài và còn nhiều đang chờ đón chị,biết đâu ở 1 nơi nào đó có 1 ng thực sự yêu chị đang chờ đón chị.người kia đã có ty mới chắc gì họ đã nhớ đến mình và chắc gì có biết mình đang đau khổ ntn,vậy thì tội gì phải khổ,hãy nghĩ rằng mình đáng được yêu và được yêu thật lòng.chúc chị hạnh phúc
- 01:36 PM 21/11/2009
[#20]
trùi ui có gì là khó đâu nhỉ? yêu 1 người khác thế là quên ngay người cũ thôi mà. ko yêu nổi người khác thì đối diện với sự việc đi, càng chốn tránh càng khó quên à>
[Chuyện tình yêu](/forum/f187)
# Làm thế nào để quên được người mình yêu?
[Đến trả lời mới nhất](http://www.webtretho.com/forum/f187/lam-the-nao-de-quen-duoc-nguoi-minh-yeu-415289/index2.html#post10215085)
-
**9.68K**Lượt đọc
-
**20**Trả lời
Những con người thật sự, những chia sẻ thật lòng từ hơn 1 triệu phụ nữ Việt Nam
Theo dõi
**Góc Tâm Sự** [](https://www.facebook.com/goctamsuwebtretho?fref=ts)
![](http://img.webtretho.com/forum/images/wtt_v2/GocTamSu.jpg)

Set-Cookie: vbseo_loggedin=deleted; expires=Thu, 01-Jan-1970 00:00:01 GMT; path=/

Server: PEN

Pragma: private

Cache-Control: none cached

X-Cached: MISS