Search code examples
javascriptbrowserruby-on-rails-4turbolinksthrobber

Turbolinks: what is the Rails 4 way of showing progress for slow pages?


This question might sound similar to Rails turbolinks long request doesn't show page load.

I've recently started new Rails 4 application, which uses Turbolinks library by default - it is awesome: makes the application feel faster/snappier, however I do have some pages that are slower than others.

Unfortunately I can't find a good way to make a browser show the default loading indicator - just like it does when it loads "conventional" web pages. People recommend different JavaScript solutions, for example, https://github.com/caarlos0/turbolinks_transitions. Although some do look good, but "average internet user" is not used to seeing loading progress somewhere other than the default browser's loading indicator.

  • How can I make Chrome show that "spinning semi-circle" in the tab header?
  • Or how can I make Safari show that "moving blue wave" in the address bar?
  • Etc.

Most of my pages are fast though, so I'd like to show this loading indicator for the pages that won't load within 300 ms, for example.

Thank you! Alex.


Solution

  • While this isn't exactly what you want, you can change the cursor to be the loading cursor using javascript like this.

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

    It would definitely let users know that a page is loading. You can set/remove it with more javascript