提问人:CafeHey 提问时间:8/20/2013 更新时间:5/5/2016 访问量:9194
如何使用 Rails 4 的 Turbolinks 创建一个 Youtube 风格的加载栏?
How to create a Youtube style loading bar with Rails 4's Turbolinks?
问:
有没有办法制作带有涡轮链接的 Youtube 样式加载栏(顶部栏的页面间)。
Turbolinks 有大量不同的回调,因此您可以在几个步骤中进行跳跃式回调,但有没有办法也与进度挂钩?
答:
在 https://github.com/rails/turbolinks/issues/265 长大
不会添加到 Turbolinks,但会显示一个简单的参考,说明如何在需要时添加它。
评论
一个名为 NG Progress JS 的 jQuery 插件似乎支持 turbo links。 以下是NG的进展和替代方案。
http://www.webiyo.com/2013/09/youtube-style-ajax-progress-bar-using.html
希望对您有所帮助。
nprogress-rails 可能正是您所需要的。
评论
假设您正确设置了 Turbolinks,请将 nProgress JS 脚本添加到您的 Rails 应用资产管道中,即 JS 和 CSS。
通过将它添加到您的自定义 JS 中来设置 nProgress ...
$(document).on('page:fetch', function() { NProgress.start(); });
$(document).on('page:change', function() { NProgress.done(); });
$(document).on('page:restore', function() { NProgress.remove(); });
就是这样。
Ps:查看 nProgress Github 页面了解更多信息。
这是 Hubspot 的另一个出色的 JS,称为 Pace。
http://github.hubspot.com/pace/docs/welcome/
如今,ProgressBar 包含在 turbolinks 中 (v.2.5.3)
检查您的 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;
}
评论