JavaScript - Đối tượng History

Xin chào, những người học lập trình tiềm năng! Hôm nay, chúng ta sẽ cùng lặn sâu vào thế giới kỳ diệu của Đối tượng History trong JavaScript. Như một người giáo viên máy tính gần gũi, tôi rất vui mừng được hướng dẫn các bạn trong hành trình này. Đừng lo lắng nếu bạn mới bắt đầu lập trình - chúng ta sẽ bắt đầu từ những điều cơ bản và dần dần nâng cao. Vậy, hãy lấy một tách cà phê (hoặc thức uống yêu thích của bạn), và chúng ta cùng bắt đầu!

JavaScript - History Object

Đối tượng History của Window

Đối tượng History là một phần của Đối tượng Window trong JavaScript. Nó cho phép chúng ta duyệt qua lịch sử trình duyệt, giống như khi bạn nhấp vào các nút back và forward trong trình duyệt của bạn. Hãy tưởng tượng nó như một cỗ máy thời gian cho việc duyệt web của bạn!

Hãy bắt đầu với một ví dụ đơn giản:

console.log(window.history.length);

Dòng mã này sẽ in ra số lượng trang trong lịch sử trình duyệt cho tab hiện tại. Nếu bạn mở một tab mới và chạy dòng mã này, nó có thể hiển thị 1, đại diện cho trang hiện tại.

Bây giờ, tại sao điều này lại hữu ích? Hãy tưởng tượng bạn đang xây dựng một ứng dụng web, và bạn muốn biết người dùng đã truy cập bao nhiêu trang. Thông tin này có thể giúp bạn tạo ra một trải nghiệm người dùng tốt hơn, chẳng hạn như cung cấp một nút "Quay lại bắt đầu" nếu họ đã duyệt qua nhiều trang.

Phương thức của Đối tượng History

Đối tượng History có nhiều phương thức cho phép chúng ta manipulatie lịch sử trình duyệt. Hãy cùng nhìn vào những phương thức được sử dụng phổ biến nhất:

Phương thức Mô tả
back() Tải trang trước đó trong lịch sử
forward() Tải trang tiếp theo trong lịch sử
go() Tải trang cụ thể từ lịch sử

Những phương thức này giống như những hướng dẫn viên cá nhân của bạn trong lịch sử duyệt web. Hãy cùng khám phá chi tiết từng phương thức!

Phương thức back() của JavaScript History

Phương thức back() giống như nhấn nút back trong trình duyệt của bạn. Nó đưa bạn đến trang trước đó trong lịch sử duyệt web.

Dưới đây là cách bạn có thể sử dụng nó:

function goBack() {
window.history.back();
}

Bây giờ, hãy nói bạn có một nút trên trang web của bạn:

<button onclick="goBack()">Quay lại</button>

Khi người dùng nhấp vào nút này, nó sẽ đưa họ đến trang họ vừa truy cập. Đó như thể bạn tặng họ một nút "du hành thời gian" để quay lại trang họ vừa ở!

Nhưng hãy nhớ, nếu không có trang trước đó (ví dụ như nếu đây là trang họ vừa truy cập đầu tiên), sẽ không có gì xảy ra. Đó là điều luôn cần nhớ khi thiết kế giao diện người dùng của bạn.

Phương thức forward() của JavaScript History

Phương thức forward() là ngược lại với back(). Nó giống như nhấn nút forward trong trình duyệt của bạn, đưa bạn đến trang tiếp theo trong lịch sử (nếu có).

Dưới đây là cách bạn có thể sử dụng nó:

function goForward() {
window.history.forward();
}

Và bạn có thể có một nút như này:

<button onclick="goForward()">Tiến lên</button>

Điều này có thể hữu ích trong một biểu mẫu nhiều bước hoặc một hướng dẫn, nơi bạn muốn cung cấp cho người dùng tùy chọn để tiến lên nếu họ vô tình quay lại.

Phương thức go() của JavaScript History

Phương thức go() là瑞士军刀 của việc duyệt lịch sử. Nó cho phép bạn di chuyển đến một điểm cụ thể trong lịch sử, cả tiến và lùi.

Dưới đây là cú pháp cơ bản:

window.history.go(number);

Tham số number cho biết trình duyệt cần di chuyển bao nhiêu trang:

  • Số dương di chuyển tiến
  • Số âm di chuyển lùi
  • Số không tải lại trang hiện tại

Hãy xem một số ví dụ:

// Quay lại một trang (giống như back())
window.history.go(-1);

// Tiến lên một trang (giống như forward())
window.history.go(1);

// Quay lại hai trang
window.history.go(-2);

// Tải lại trang hiện tại
window.history.go(0);

Dưới đây là một ví dụ thực tế về cách bạn có thể sử dụng điều này trong một ứng dụng web:

function navigateHistory(steps) {
window.history.go(steps);
}

Và trong HTML của bạn:

<button onclick="navigateHistory(-2)">Quay lại 2 trang</button>
<button onclick="navigateHistory(1)">Tiến lên 1 trang</button>
<button onclick="navigateHistory(0)">Tải lại trang</button>

Điều này cho phép người dùng có nhiều quyền kiểm soát hơn trong trải nghiệm duyệt web của họ, cho phép họ nhảy qua nhiều trang một lần hoặc nhanh chóng tải lại trang hiện tại.

Nhớ rằng phương thức go() chỉ hoạt động nếu có trang để di chuyển trong lịch sử. Nếu bạn cố gắng tiến lên khi bạn đang ở trang mới nhất, hoặc quay lại khi bạn đang ở trang đầu tiên, sẽ không có gì xảy ra.

Cuối cùng, đối tượng History là một công cụ mạnh mẽ trong JavaScript cho phép bạn tạo ra các ứng dụng web tương tác và thân thiện với người dùng hơn. Bằng cách hiểu và sử dụng các phương thức này, bạn có thể cung cấp cho người dùng nhiều quyền kiểm soát hơn trong trải nghiệm duyệt web và tạo ra một điều hướng mượt mà hơn trong các ứng dụng web của bạn.

Khi bạn tiếp tục hành trình trong phát triển web, bạn sẽ tìm thấy nhiều tính năng thú vị khác của JavaScript để khám phá. Hãy tiếp tục thực hành, giữ vững sự tò mò, và nhớ rằng - mỗi chuyên gia từng là một người mới bắt đầu. Chúc các bạn lập trình vui vẻ!

Credits: Image by storyset