Turbolinks.visitが呼び出されると、進行状況バーが表示されます。Turbolinks 5:進行状況を表示Bar
手動で表示して非表示にしたいのですが(私のxhr要求の一部が少し長いため)、可能でしょうか?
(Turbolinks 3では、そこTurbolinks.ProgressBar.start)は(だったが、それはパブリックAPIではなかったし、もう動作していない)
Turbolinks.visitが呼び出されると、進行状況バーが表示されます。Turbolinks 5:進行状況を表示Bar
手動で表示して非表示にしたいのですが(私のxhr要求の一部が少し長いため)、可能でしょうか?
(Turbolinks 3では、そこTurbolinks.ProgressBar.start)は(だったが、それはパブリックAPIではなかったし、もう動作していない)
Turbolinks 5では、シングルトンコントローラオブジェクトの方がProgressBarインスタンスが深くなっています。以下が動作するはずです:
function safeStartTurbolinksProgress() {
if(!Turbolinks.supported) { return; }
Turbolinks.controller.adapter.progressBar.setValue(0);
Turbolinks.controller.adapter.progressBar.show();
}
function safeStopTurbolinksProgress() {
if(!Turbolinks.supported) { return; }
Turbolinks.controller.adapter.progressBar.hide();
Turbolinks.controller.adapter.progressBar.setValue(100);
}
あなたは、任意の時点でTurbolinks.ProgressBar.disable()
を行うと、それが離れて行くことができます。あるいは、これらの段階でクラスを追加し、いくつかのCSSウィザードを使用して、独自の進行状況バーを作成することもできます。
if Turbolinks.ProgressBar
// Do stuff
$(document).on 'page:fetch', ->
// Do stuff while the fetch is starting
$(document).on 'page:receive', ->
// It's almost done
$(document).on 'page:change', ->
// It's done
$(document).on 'page:restore', ->
// It's really done
Rails 5(Turbolinks 5)では、デフォルトでプログレスバーが有効になっています。 500ミリ秒以上かかるページは自動的に表示されます。
は完全にプログレスバーを無効にするには、隠されたにその可視性のスタイルを設定します。.turbolinks-progress-bar {
visibility: hidden;
}
詳細情報here。