JavaScript - Đối tượng Location

Xin chào, các bạn nhà phát triển web tương lai! Hôm nay, chúng ta sẽ cùng nhau khám phá một trong những đối tượng hữu ích và thú vị nhất trong JavaScript: đối tượng Location. Là giáo viên máy tính gần gũi của bạn, tôi rất vui mừng được hướng dẫn bạn trong hành trình này. Vậy hãy lấy một tách cà phê (hoặc trà, nếu đó là sở thích của bạn), và chúng ta cùng bắt đầu!

JavaScript - Location Object

Đối tượng Window Location

Đối tượng Location giống như một GPS cho trình duyệt web của bạn. Nó chứa thông tin về URL hiện tại của cửa sổ trình duyệt và cung cấp các phương thức để thay đổi URL đó. Hãy tưởng tượng nó như một người hướng dẫn cá nhân của bạn trong đại dương rộng lớn của internet!

Để truy cập đối tượng Location, chúng ta sử dụng window.location hoặc đơn giản là location. Hãy cùng nhìn vào một ví dụ đơn giản:

console.log(window.location);
console.log(location); // Cả hai sẽ cho cùng một kết quả

Nếu bạn chạy đoạn mã này trong console của trình duyệt, bạn sẽ thấy tất cả các thuộc tính của URL của trang hiện tại. Rất thú vị phải không?

Thuộc tính của Đối tượng Location

Bây giờ, hãy phân tích các thuộc tính khác nhau của đối tượng Location. Các thuộc tính này giống như các phần của một địa chỉ, mỗi phần cung cấp cho chúng ta thông tin cụ thể về vị trí của chúng ta trên web.

1. href

Thuộc tính href cung cấp cho chúng ta URL đầy đủ của trang hiện tại.

console.log(location.href);
// Output có thể là: https://www.example.com/page?id=123#section

2. protocol

Thuộc tính này cho chúng ta biết đang sử dụng giao thức nào (thường là "http:" hoặc "https:").

console.log(location.protocol);
// Output: https:

3. host

Thuộc tính host cung cấp cho chúng ta tên miền và số port (nếu được chỉ định).

console.log(location.host);
// Output có thể là: www.example.com:8080

4. hostname

Giống như host, nhưng hostname chỉ cung cấp tên miền mà không có port.

console.log(location.hostname);
// Output: www.example.com

5. port

Thuộc tính này chỉ định số port của URL.

console.log(location.port);
// Output có thể là: 8080 (hoặc trống nếu đó là port mặc định)

6. pathname

Thuộc tính pathname cung cấp cho chúng ta đường dẫn của URL (mọi thứ sau tên miền).

console.log(location.pathname);
// Output có thể là: /page

7. search

Thuộc tính này trả về phần chuỗi truy vấn của URL (bao gồm cả '?').

console.log(location.search);
// Output có thể là: ?id=123

8. hash

Thuộc tính hash cung cấp cho chúng ta phần锚 của URL (bao gồm cả '#').

console.log(location.hash);
// Output có thể là: #section

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

Bây giờ chúng ta đã khám phá các thuộc tính, hãy nhìn vào một số phương thức cho phép chúng ta tương tác với đối tượng Location. Các phương thức này giống như các điều khiển của GPS trình duyệt web của chúng ta.

1. assign()

Phương thức assign() tải tài liệu mới.

location.assign("https://www.example.com");

Điều này giống như gõ một URL mới vào thanh địa chỉ và nhấn enter.

2. reload()

Như tên gọi của nó, phương thức này tải lại tài liệu hiện tại.

location.reload();

Nó tương đương với việc nhấp vào nút làm mới trong trình duyệt.

3. replace()

Phương thức replace() thay thế tài liệu hiện tại bằng một tài liệu mới.

location.replace("https://www.example.com");

Sự khác biệt giữa replace()assign()replace() không tạo ra một mục mới trong lịch sử trình duyệt, vì vậy người dùng không thể sử dụng nút quay lại để điều hướng trở lại trang gốc.

Danh sách Thuộc tính của Đối tượng Location

Dưới đây là bảng tóm tắt tất cả các thuộc tính của Đối tượng Location mà chúng ta đã thảo luận:

Thuộc tính Mô tả
href Toàn bộ URL
protocol Giao thức của URL (ví dụ: "http:" hoặc "https:")
host Tên miền và số port của URL
hostname Tên miền của URL
port Số port mà máy chủ sử dụng cho URL
pathname Đường dẫn và tên tệp của URL
search Phần chuỗi truy vấn của URL
hash Phần锚 của URL

Danh sách Phương thức của Đối tượng Location

Và đây là bảng tóm tắt các phương thức của Đối tượng Location:

Phương thức Mô tả
assign() Tải tài liệu mới
reload() Tải lại tài liệu hiện tại
replace() Thay thế tài liệu hiện tại bằng tài liệu mới

Và đó là tất cả! Bạn đã vừa tham quan một chuyến du lịch lớn về Đối tượng Location trong JavaScript. Nhớ rằng, giống như bất kỳ GPS nào, Đối tượng Location luôn ở đó để giúp bạn điều hướng và kiểm soát các trang web của mình.

Khi chúng ta kết thúc, tôi nhớ lại một câu chuyện hài từ những ngày đầu dạy học. Tôi từng có một học sinh rất háo hức sử dụng phương thức location.reload() đến mức anh ấy vô tình tạo ra một vòng lặp vô hạn, khiến trình duyệt của anh ấy liên tục làm mới. Chúng tôi đã cùng nhau cười về điều đó, nhưng nó đã dạy chúng tôi một bài học quan trọng: với quyền lực lớn đi kèm với trách nhiệm lớn!

Tôi hy vọng hướng dẫn này đã hữu ích và bạn cảm thấy tự tin hơn khi sử dụng Đối tượng Location trong các cuộc phiêu lưu JavaScript của mình. Hãy tiếp tục thực hành, luôn tò mò và chúc bạn mã code vui vẻ!

Credits: Image by storyset