2011-12-21 30 views
6

Bạn có thể đã thấy app.asana.com. Nếu không, bạn nên kiểm tra xem nó ra, nó là một ứng dụng web rất đẹp được thiết kế.Làm thế nào để Asana xử lý các URL mà không cần #

Nhưng tôi không thể hiểu cách họ xử lý toàn bộ quản lý URL. Backbone.js hoặc Knockout.js xử lý URL bằng # và mọi thứ sau đó chỉ được tạo.

Nhưng asana không có băm và có thể sửa đổi URL, chúng hoạt động như thế nào?

+0

bản sao có thể có của [Làm cách nào để github giữ trang được tải trong khi thay đổi URL?] (Http://stackoverflow.com/questions/6051057/how-does-github-keep-a-loaded-page-while-changing- url) – Quentin

Trả lời

5

Có vẻ như họ đang sử dụng HTML5 history.pushState(); để họ không phải làm mới trang và do đó họ không phải sử dụng # (băm) trong URL để chuyển đến một phần nhất định trong ứng dụng web.

Dưới đây là một hướng dẫn tốt về history.pushState();: https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

Đây là những gì Google+ và Facebook sử dụng để thay đổi URL mà không cần làm mới.

Tôi hy vọng điều này sẽ hữu ích.

3

HTML5 Đẩy Nhà nước: http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page

Lợi ích lớn ở đây là nếu bạn dán URL Asana trực tiếp vào trình duyệt (hoặc bấm vào một liên kết từ một email), máy chủ thấy URL đầy đủ và ngay lập tức có thể gửi dữ liệu nhiệm vụ thích hợp cho khách hàng. Chúng tôi đã từng sử dụng các phân đoạn url, nhưng chúng tôi cần thực hiện một chuyến đi vòng thứ hai sau khi ứng dụng được tải để đọc đoạn mã trong JavaScript và chuyển nó tới máy chủ.

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