2013-09-27 145 views
9

Câu hỏi này có vẻ giống như Rails turbolinks long request doesn't show page load.Turbolinks: cách Rails 4 hiển thị tiến trình cho các trang chậm là gì?

Gần đây tôi đã bắt đầu ứng dụng Rails 4 mới, sử dụng thư viện Turbolinks - thật tuyệt vời: làm cho ứng dụng cảm thấy nhanh hơn/nhanh hơn, tuy nhiên tôi có một số trang chậm hơn các trang khác.

Rất tiếc, tôi không thể tìm thấy cách tốt để tạo trình duyệt hiển thị chỉ số tải mặc định mặc định - giống như khi tải các trang web "thông thường". Mọi người đề xuất các giải pháp JavaScript khác nhau, ví dụ: https://github.com/caarlos0/turbolinks_transitions. Mặc dù một số có vẻ tốt nhưng "người dùng internet trung bình" không được sử dụng để xem tiến trình tải ở đâu đó ngoài chỉ báo tải của trình duyệt mặc định.

  • Làm cách nào để Chrome hiển thị "quay vòng kết nối" trong tiêu đề tab?
  • Hoặc làm cách nào để làm cho Safari hiển thị "di chuyển làn sóng xanh" trong thanh địa chỉ?
  • vv

Hầu hết các trang của tôi là nhanh chóng mặc dù, vì vậy tôi muốn hiển thị chỉ số tải này cho các trang đó sẽ không tải trong vòng 300 ms, ví dụ.

Cảm ơn bạn! Alex.

+0

Đây là những gì tôi làm: https://gist.github.com/cpuguy83/5016442 – cpuguy83

+0

Đó là một câu trả lời tuyệt vời và đã làm việc tốt cho tôi: http://stackoverflow.com/ a/18815206/101900 –

Trả lời

8

Mặc dù đây không phải là điều bạn muốn, bạn có thể thay đổi con trỏ thành con trỏ tải bằng javascript như thế này.

$('selector').css('cursor', 'wait'); 

Chắc chắn nó sẽ cho người dùng biết rằng trang đang tải. Bạn có thể đặt/xóa nó với nhiều javascript hơn

+0

Đó là một ý tưởng tuyệt vời nhưng rất đơn giản - cảm ơn bạn, TMP! Điều này có thể sẽ loại bỏ 1/2 sự nhầm lẫn của người dùng của tôi. Xin lỗi, không đánh dấu câu trả lời của bạn là "được chấp nhận", bởi vì câu hỏi về cách làm cho chỉ báo tải trang của Chrome/Firefox/IE vẫn mở. Có lẽ tôi nên nói chuyện với các nhà sản xuất trình duyệt về điều đó ... :) –