1

Node.js/Backbone.js アプリケーションを作成していますが、pushState を正しく使用しているかどうか疑問に思っています。

私のアプリはhttp://localhost:8888/で始まります。Backbone のルーターがこれを取得し、index で何かを実行するようにします。たとえば、私のアプリでは、ユーザーがファイルをアップロードすると、Node.js はユーザーをhttp://localhost:8888/blah/にリダイレクトします。この時点で、Backbone のルーターがその URL を取得して何かを実行するようにします。

最初、Backbone は / up 以外は何も拾っていませんでした。Backbone はもちろん /#something などに応答することに気付きました。そのため、開始時に Backbone の履歴に pushState:true を設定しました。今では、ユーザーが / または Node.js リダイレクトを行っているときに必要なさまざまなことをピックアップして実行するようです。それらを /blah/ にします。

そうですか?それが機能する場合、それを維持しますか?

私は基本的に、ユーザーがどのページにいるかに応じて、異なる JavaScript を起動したいと考えています。その特定のページに固有の要素を見つけて、必要なコードを起動することで、jQuery を使って汚いことをしていました。しかし、それは非常に汚いです。これは、履歴で pushState:true を使用している限り、バックボーンのルーターで動作するようです...しかし、そうですか?

どうもありがとう、ジェームズ

4

1 に答える 1

0

Backbone を使用する場合は、pushState:true を呼び出す必要があります (オプトイン ベース)。ブラウザーが pushState をサポートしていない場合、URL で # を使用するように自動的にフォールバックします。

ルーターの夜の説明に関しては、正しいように聞こえます。コードを見ないと完全に理解するのは難しいことを覚えておいてください。

最後に、Backbone に '/' のルートを問題なく実行させることができます。

于 2012-02-01T17:13:25.117 に答える