Ответ 1
nprogress-rails, вероятно, именно то, что вам нужно.
Есть ли способ сделать панель загрузки стиля Youtube (межстраничная страница в верхней панели) с помощью турбо-ссылок.
Turbolinks имеет множество различных обратных вызовов, поэтому вы можете сделать перебор на несколько шагов, но есть ли способ заручиться успехом тоже?
nprogress-rails, вероятно, именно то, что вам нужно.
Проверьте версию turbolinks:
$ gem list |grep turbolinks
turbolinks (2.5.3)
если ваша версия Turbolinks < 3.0, добавьте ниже код в файл js (например: application.js
).
Turbolinks.enableProgressBar();
Если вы используете Turbolinks 3.0, индикатор выполнения по умолчанию включен.
https://github.com/rails/turbolinks#progress-bar.
индикатор выполнения может быть настроен с помощью CSS, как:
html.turbolinks-progress-bar::before {
background-color: red !important;
height: 5px !important;
}
Предполагая, что вы настроили Turbolinks правильно, добавьте nProgress JS script в конвейер ресурсов приложения Rails, т.е. JS и CSS.
Настройте nProgress, добавив это в свой собственный JS...
$(document).on('page:fetch', function() { NProgress.start(); });
$(document).on('page:change', function() { NProgress.done(); });
$(document).on('page:restore', function() { NProgress.remove(); });
И что это.
Ps: просмотрите страницу nProgress Github для получения дополнительной информации.
Воспитан в https://github.com/rails/turbolinks/issues/265
Не добавляется в Turbolinks, но показывает вам простую ссылку о том, как добавить его, если вам нужно.
Вот еще один блестящий JS от Hubspot, называемый Pace.
В настоящее время ProgressBar включен в turbolinks (v.2.5.3)
Плагин jQuery, названный NG Progress JS, похоже, поддерживает турбо-ссылки. Вот NG Progress и альтернативы.
http://www.webiyo.com/2013/09/youtube-style-ajax-progress-bar-using.html
Надеюсь, что это поможет.