2013-08-19 11 views

risposta

28

nprogress-rails è probabilmente proprio quello che ti serve.

+0

Questo non ha nulla a che fare con il ciclo di vita dei turbolinks. – Smickie

+4

Lo stiamo usando [email protected] non è corretto, la gemma ha ganci da integrare ed esegue la barra di avanzamento con diverse tecniche, in particolare Turbolinks, Pjax e Ajax. –

+0

una soluzione molto bella e facile da implementare – cwd

1

è stato portato in https://github.com/rails/turbolinks/issues/265

non sarà aggiunto al Turbolinks, ma si mostra un semplice riferimento per il modo di aggiungerlo se è necessario.

+0

Sarebbe questo media ramificazione i turbolinks js o si potrebbe aggiungere alla normale file di js? – Smickie

3

Supponendo di avere impostato Turbolinks correttamente, aggiungere nProgress JS script alla pipeline di asset dell'app Rails, ovvero JS e CSS.

Impostare nProgress aggiungendo questo per la vostra abitudine JS ...

$(document).on('page:fetch', function() { NProgress.start(); }); 
$(document).on('page:change', function() { NProgress.done(); }); 
$(document).on('page:restore', function() { NProgress.remove(); }); 

E questo è tutto.

Ps: consulta lo nProgress Github page per ulteriori informazioni.

+0

Grazie! questo ha risposto alla mia domanda :)! – 0bserver07

1

Al giorno d'oggi un ProgressBar è incluso con turbolinks (v.2.5.3)

+0

Sì. Vedi: https://github.com/rails/turbolinks/pull/415 –

15

Controllare la versione turbolinks:

$ gem list |grep turbolinks 
turbolinks (2.5.3) 

se la versione Turbolinks < 3.0, aggiungere sotto il codice a file js (ad esempio: application.js).

Turbolinks.enableProgressBar(); 

se si utilizza Turbolinks 3.0, la barra di avanzamento è attivata per impostazione predefinita.

https://github.com/rails/turbolinks#progress-bar.

enter image description here

la barra di avanzamento può essere personalizzato CSS, proprio come:

html.turbolinks-progress-bar::before { 
    background-color: red !important; 
    height: 5px !important; 
} 

enter image description here