HTML Web Storage API
HTML Web Storage tốt hơn cookie.
HTML Web Storage là gì?
Với tính năng Web Storage, các ứng dụng web có thể lưu trữ dữ liệu cục bộ trong trình duyệt của người dùng.
Trước HTML5, dữ liệu ứng dụng phải được lưu trữ trong cookie, được bao gồm trong mọi yêu cầu của máy chủ. Lưu trữ web an toàn hơn và một lượng lớn dữ liệu có thể được lưu trữ cục bộ mà không ảnh hưởng đến hiệu suất trang web.
Không giống như cookie, giới hạn lưu trữ lớn hơn nhiều (ít nhất 5MB) và thông tin không bao giờ được chuyển đến máy chủ.
Lưu trữ web dựa trên nguồn gốc (theo domain và giao thức). Tất cả các trang, từ một nguồn, có thể lưu trữ và truy cập cùng một dữ liệu.
Hỗ trợ trình duyệt
Các số trong bảng chỉ định phiên bản trình duyệt đầu tiên hỗ trợ đầy đủ Web Storage.
| API Web Storage |
Google Chrome | MS Edge | Firefox | Safari | Opera |
|---|---|---|---|---|---|
| 4.0 | 8.0 | 3.5 | 4.0 | 11.5 |
Các đối tượng HTML Web Storage
HTML Web Storage cung cấp hai đối tượng để lưu trữ dữ liệu trên client:
window.localStorage- lưu trữ dữ liệu không có ngày hết hạnwindow.sessionStorage- lưu trữ dữ liệu cho một phiên (dữ liệu bị mất khi đóng tab trình duyệt)
Trước khi sử dụng lưu trữ web, hãy kiểm tra hỗ trợ của trình duyệt cho localStorage và sessionStorage:
if (typeof(Storage) !== "undefined") {
// Code for localStorage/sessionStorage.
} else {
// Sorry! No Web Storage support..
}
Đối tượng localStorage
Đối tượng localStorage lưu trữ dữ liệu mà không có ngày hết hạn. Dữ liệu sẽ không bị xóa khi trình duyệt bị đóng và sẽ có sẵn vào ngày, tuần hoặc năm tiếp theo.
Ví dụ:
// Store
localStorage.setItem("lastname", "Smith");
// Retrieve
document.getElementById("result").innerHTML = localStorage.getItem("lastname");
Ví dụ được giải thích như sau:
- Tạo một cặp tên/giá trị localStorage với name="lastname" và value="Smith"
- Lấy giá trị của "lastname" và chèn nó vào phần tử có id="result"
Ví dụ trên cũng có thể được viết như thế này:
// Store
localStorage.lastname = "Smith";
// Retrieve
document.getElementById("result").innerHTML = localStorage.lastname;
Cú pháp để xóa mục localStorage "lastname" như sau:
localStorage.removeItem("lastname");
Lưu ý: Các cặp tên/giá trị luôn được lưu trữ dưới dạng chuỗi. Hãy nhớ chuyển đổi chúng sang định dạng khác khi cần thiết!
Ví dụ sau đây đếm số lần người dùng đã nhấp vào một nút. Trong đoạn code này, chuỗi giá trị được chuyển đổi thành một số để có thể tăng bộ đếm:
if (localStorage.clickcount) {
localStorage.clickcount = Number(localStorage.clickcount) + 1;
} else {
localStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
localStorage.clickcount + " time(s).";
Đối tượng sessionStorage
Đối tượng sessionStorage ngang bằng với đối tượng localStorage, ngoại trừ việc nó lưu trữ dữ liệu chỉ cho một phiên. Dữ liệu bị xóa khi người dùng đóng một tab trình duyệt cụ thể.
Ví dụ sau đếm số lần người dùng đã nhấp vào nút, trong phiên hiện tại:
if (sessionStorage.clickcount) {
sessionStorage.clickcount = Number(sessionStorage.clickcount) + 1;
} else {
sessionStorage.clickcount = 1;
}
document.getElementById("result").innerHTML = "You have clicked the button " +
sessionStorage.clickcount + " time(s) in this session.";
Bạn nên đọc
Theo Nghị định 147/2024/ND-CP, bạn cần xác thực tài khoản trước khi sử dụng tính năng này. Chúng tôi sẽ gửi mã xác thực qua SMS hoặc Zalo tới số điện thoại mà bạn nhập dưới đây:
-
HTML cơ bản
-
Giới thiệu về HTML
-
Công cụ soạn thảo HTML
-
Các ví dụ cơ bản về HTML
-
Các phần tử trong HTML
-
Các thuộc tính trong HTML
-
Tiêu đề trong HTML
-
Đoạn văn trong HTML
-
Thuộc tính Style trong HTML
-
Định dạng văn bản trong HTML
-
Các phần tử trích dẫn trong HTML
-
Thẻ chú thích trong HTML
-
Màu sắc trong HTML
-
Cách chèn khoảng trống trong HTML
-
Tạo kiểu cách cho HTML với CSS
-
Các đường dẫn trong HTML
-
Hình ảnh trong HTML
-
Bảng biểu trong HTML
-
Danh sách trong HTML
-
Phần tử khối và nội dòng trong HTML
-
Thuộc tính class trong HTML
-
Thuộc tính id trong HTML
-
Iframe trong HTML
-
JavaScript trong HTML
-
Đường dẫn tập tin trong HTML
-
Phần tử Head trong HTML
-
Layout trong HTML
-
Responsive trong HTML
-
Phần tử mã máy tính trong HTML
-
HTML Entities - Ký tự thực thể trong HTML
-
Symbol - Biểu tượng trong HTML
-
Mã hóa kí tự trong HTML (Charset)
-
Uniform Resource Locators - URL trong HTML
-
HTML và XHTML
-
Thuộc tính Global trong HTML
-
-
Form trong HTML
-
HTML5
-
Đồ họa trong HTML
-
Media trong HTML
-
API trong HTML
-
Ví dụ về HTML
-
Tham chiếu HTML
-
Thẻ HTML
-
Khai báo <!DOCTYPE>
-
Thẻ <!--...-->
-
Thẻ <a>
-
Thẻ <abbr>
-
Thẻ <address>
-
Thẻ <area>
-
Thẻ <article>
-
Thẻ <aside>
-
Thẻ <b>
-
Thẻ <base>
-
Thẻ <bdi>
-
Thẻ <bdo>
-
Thẻ <blockquote>
-
Thẻ <body>
-
Thẻ <br>
-
Thẻ <button>
-
Thẻ <caption>
-
Thẻ <cite>
-
Thẻ <code>
-
Thẻ <col>
-
Thẻ <colgroup>
-
Thẻ <data>
-
Thẻ <datalist>
-
Thẻ <dd>
-
Thẻ <del>
-
Thẻ <details>
-
Thẻ <dfn>
-
Thẻ <div>
-
Thẻ <dialog>
-
Thẻ <dl>
-
Thẻ <embed>
-
Thẻ <em>
-
Thẻ <fieldset>
-
Thẻ <figcaption>
-
Thẻ <figure>
-
Thẻ <footer>
-
Thẻ <h1> đến <h6>
-
Thẻ <header>
-
Thẻ <hr>
-
Thẻ <html>
-
Thẻ <i>
-
Thẻ <iframe>
-
Thẻ <input>
-
Thẻ <ins>
-
Thẻ <kbd>
-
Thẻ <label>
-
Thẻ <legend>
-
Thẻ <li>
-
Thẻ <link>
-
Thẻ <main>
-
Thẻ <map>
-
Thẻ <mark>
-
Thẻ <meter>
-
Thẻ <nav>
-
Thẻ <noscript>
-
Thẻ <object>
-
Thẻ <ol>
-
Thẻ <optgroup>
-
Thẻ <option>
-
Thẻ <output>
-
Thẻ <p>
-
Thẻ <param>
-
Thẻ <picture>
-
Thẻ <pre>
-
Thẻ <progress>
-
Thẻ <q>
-
Thẻ <rp>
-
Thẻ <rt>
-
Thẻ <ruby>
-
Thẻ <s>
-
Thẻ <samp>
-
Thẻ <script>
-
Thẻ <select>
-
Thẻ <search>
-
Thẻ <section>
-
Thẻ <small>
-
Thẻ <source>
-
Thẻ <strong>
-
Thẻ <sub>
-
Thẻ <summary>
-
Thẻ <span>
-
Thẻ <sup>
-
Thẻ <svg>
-
Thẻ <tbody>
-
Thẻ <td>
-
Thẻ <template>
-
Thẻ <textarea>
-
Thẻ <time>
-
Thẻ <thead>
-
Thẻ <title>
-
Thẻ <tr>
-
Thẻ <tfoot>
-
Thẻ <th>
-
Thẻ <track>
-
Thẻ <u>
-
Thẻ <ul>
-
Thẻ <video>
-
Thẻ <wbr>
-
Hướng dẫn AI
Học IT
Hàm Excel