我不確定所有Rails應用程序的行爲是否相同,還是隻在我的應用程序設置中。對於我的應用程序,當一個頁面正在加載(所以當點擊一個鏈接,直到內容從服務器響應的那一刻),沒有任何頁面加載的跡象。一般來說,在網頁加載過程中,網頁上會有一個旋轉輪,代表網頁正在加載。我正在使用Rails 4.0.0 on Heroku。如何在頁面之間顯示頁面加載
3
A
回答
4
Rails默認使用turbolinks。
請看看turbolinks以及它是如何工作的。它基本上替代了頁面的主體而不是發出新的請求,這就是爲什麼你在瀏覽器中看不到加載指示的原因。
如果你想看到你的頁面加載,你可以禁用turbolinks,從application.js中刪除它,或使用像這樣的gem:https://github.com/caarlos0/nprogress-rails來顯示頁面的實際加載。
我強烈建議你保持turbolinks和去與我給你的第二個選項。
1
這些網站大多數時間稱爲單頁應用程序。這些網站使用了很多基於AJAX的內容獲取機制,這與前端編程有關,後端編程也有一些。
如果你真的想要實現這個功能,你可以使用AngularJS,BackboneJS和其他支持單頁面Web應用程序的框架。
當您獲取另一個頁面表單服務器時,您的所有HTML,CSS和JS都消失了,並且新內容被提取並呈現。因此,除非您使用基於AJAX的頁面,否則無法在兩者之間顯示加載頁面。
+1
他有完全相反的問題。 – coorasse
4
從Turbolinks,有點像?
$document.on('page:fetch', function() {
// show spinner
});
$document.on('page:change', function() {
// hide spinner
});
更新Turbolinks 5
對於Turbolinks 5:
$document.on('turbolinks:click', function() {
// show spinner
});
$document.on('turbolinks:load', function() {
// hide spinner
});
如果你正在使用jQuery和你的微調是在div.spinner
,您可以顯示與隱藏:
$(document).on("turbolinks:click", function(){
$(".spinner").show();
});
$(document).on("turbolinks:load", function(){
$(".spinner").hide();
});
相關問題
- 1. 在頁面之間顯示'頁面加載'信息
- 2. 如何在顯示搜索結果的頁面之前顯示加載頁面?
- 3. 如何在頁面之間移動時顯示加載
- 4. 顯示在頁面加載
- 5. 如何在加載父頁面之前加載子頁面?
- 6. 如何在頁面加載中顯示頁面的頂部div?
- 7. 如何在頁面加載後顯示頁面內容?
- 8. 顯示頁面加載時間3
- 9. 頁面加載頁面加載之間不同
- 10. 如何在頁面顯示之前在電話中加載css?
- 11. 在頁面之間導航時顯示加載器 - PWA
- 12. 在頁面之間導航時總是顯示加載動畫?
- 13. 加載頁面時顯示加載動畫微調器頁面
- 14. 如何在HTML頁面加載之前顯示5send視頻?
- 15. 在JavaFX WebView加載頁面之前顯示加載圖像
- 16. 在頁面完全加載之前顯示加載圖像
- 17. 在整個頁面加載之前顯示加載欄
- 18. 顯示加載微調頁面加載
- 19. 顯示加載頁面加載GIF - iframe?
- 20. 如何在特定頁面加載時間後顯示Div?
- 21. 如何在頁面加載期間顯示UpdateProgress欄
- 22. 你如何顯示頁面加載時間在PHP?
- 23. 時間頁面加載和在佈局頁腳中顯示
- 24. 如何在頁面加載時在UIWebview中顯示加載欄?
- 25. 顯示在同一頁面Ajax內容沒有頁面加載
- 26. 在webview中加載https頁面顯示空白頁面
- 27. 重新加載頁面,並顯示在頁面的新視圖
- 28. 加載時,頁面會顯示在頁面底部
- 29. 在顯示HTML頁面之前是否可以預加載HTML頁面?
- 30. richfaces如果長頁面加載時間顯示modalPanel,當頁面加載快時不顯示modalPanel
並非所有瀏覽器都顯示s Ame頁面加載指標。最近版本的Safari填充地址欄背景顏色,Chrome(v43)爲*標籤* favicon(而不是地址欄favicon)等動畫。如果頁面加載正確,則不太可能成爲Rails問題,並且更接近「瀏覽器UX 「 區別。 – elithrar