2

backbone.js アプリケーションが初めてロードされるとき、テンプレートがロードされるまでに 6 秒間空白の画面が表示されます。JavaScript ライブラリが少し肥大化しており、ビルド プロセスはまだ完全ではありませんが、これらは別の問題です。

私はrequire.jsでbackbone-boilerplateを使用しています。すべてのアセット、データ、テンプレートが読み込まれてレンダリングされている間に表示される一種のgmailタイプローダーが欲しいので、空白が読み込まれるだけではありませんページ。

とにかくこのようなことをすることはありますか?

4

1 に答える 1

4

これを解決した方法は、index.html にアニメーション化されたスピナー GIF を含めることです。

<html>
  <!-- header with scripts etc -->
  <body>
    <img id="spinner" class="centered" src="/images/spinner.gif"></img>
  </body>
</html>

すべてのアセットがダウンロードされ、モデルが初期化され、アプリケーションのメイン ビューをレンダリングする準備が整ったら、スピナーをコンテンツに置き換えるだけです。

var appView = new AppView().render();
$("img#spinner").replaceWith(appView.el);

進行状況自体は表示されませんが、ロードが行われていることをユーザーに知らせます。

requirejs の読み込みイベントに接続する方法があるかもしれませんが、私はその方法を知りません。すべてのリソースを縮小して単一のファイルに結合することを計画している場合、単一のファイルのダウンロードの進行状況を非常に正確に追跡することはできないため、これはあまり役に立ちません。

于 2012-12-18T17:23:06.977 に答える