2011-09-29 32 views
28

Chuyển đến bất kỳ GitHub page nào và nhấp vào bất kỳ thư mục/tệp nào và quan sát cách URL thay đổi nhưng chỉ một phần của trang được cập nhật. Không tải lại toàn bộ trang.GitHub thay đổi URL như thế nào mà không cần tải lại trang?

Làm cách nào để làm điều gì đó tương tự bằng jQuery?

Tính năng này có hoạt động trên hầu hết các trình duyệt (tôi đang sử dụng Chrome) không?

+1

Nếu câu hỏi này được hợp nhất với một bản sao, vui lòng giữ lại câu trả lời của @ alex. Nó là tốt hơn so với câu trả lời của Zach trong bài viết khác. – Greg

+0

Tôi đang mở lại tính năng này vì bản gốc đã bị xóa. Nó chỉ chứa một liên kết đến một blog cho một câu trả lời. –

Trả lời

30

Họ sử dụng history API hoặc cụ thể là history.pushState().

Bạn có thể sử dụng điều này, jQuery không bắt buộc, nhưng có các plugin như history.js.

Tính năng này hoạt động trên hầu hết các trình duyệt, cụ thể là Chrome, Safari và Firefox. IE10 trở lên hỗ trợ điều này. Trong các trình duyệt IE cũ hơn, bạn có thể quay trở lại bằng cách sử dụng hàm băm (window.location.hash).

GitHub also blogged about this.

+0

Có cần một số cấu hình trên chương trình phụ trợ không? – kspacja

4

Sử dụng Github PJAX (Ref). Bạn có thể thấy về jquery-pjax here. Lưu ý rằng tính năng này không được hỗ trợ bởi tất cả trình duyệt, có một số trình duyệt không thể sử dụng các lợi ích này.

Các vấn đề liên quan