Tôi có một ứng dụng nặng Ajax mà có thể có một URL nhưLàm cách nào để phát hiện thay đổi trên thanh địa chỉ bằng JavaScript?
http://example.com/myApp/#page=1
Khi người dùng thao tác trang web, thanh địa chỉ có thể thay đổi một cái gì đó giống như
http://example.com/myApp/#page=5
mà không cần tải lại trang.
Vấn đề của tôi là trình tự sau đây:
- Một người dùng đánh dấu URL đầu tiên.
- Người dùng thao tác ứng dụng sao cho URL thứ hai là trạng thái hiện tại.
- Người dùng nhấp vào dấu trang được tạo ở bước 1.
- URL trong thanh địa chỉ thay đổi từ http://example.com/myApp/#page=5 thành http://example.com/myApp/#page=1, nhưng tôi không biết cách nào để phát hiện thay đổi đã xảy ra.
Nếu tôi phát hiện thay đổi, một số JavaScript sẽ hành động trên đó.
Tôi tò mò, tại sao ứng dụng được thiết kế như thế này? Tôi không thể thấy bất kỳ nhu cầu thực tế nào về thay đổi URL. –
Nó hoạt động giống như một chuỗi truy vấn, nhưng không làm cho trình duyệt tải lại trang. Điều này đã được thực hiện, sao cho tải trọng của máy khách không phải được lấy ra và nạp mỗi khi một trang được thay đổi. Tải trọng không phải là dễ dàng lưu trữ, đòi hỏi một thời gian khởi tạo JavaScript đáng kể, và sẽ không cung cấp cho khách hàng một trải nghiệm vô nghĩa. – JoshNaro