2012-12-17 8 views
6

私は、すべてのルータ(実際には、Backbone.Marionette AppRouterを持つBackbone.Marionetteアプリケーションですが、それにもかかわらず)で設定されたbackbone.js単一ページアプリケーションを持っています。しかし、バックエンドはDjangoをベースにしています。ここでは、すでにbackbone.jsルートにあるすべてのURLのビューにURLのconfを設定していません。DjangoのURLのconfとBackbone.jsのルータ

DjangoのURLのconfの既存のURLに基​​づいて、Backbone.jsはDjangoのconfにリストされているものに関係なく、バックボーンルートを提供します。

古いブラウザ/ SEOのフォールバックを提供するには、適切なDjangoビューが必要ですか?

Django URL confとBackbone.jsルーターを調整するベストプラクティスは何ですか?

答えて

2

http://duganchen.ca/single-page-web-app-architecture-done-right/

簡単に言えば、フォールバックを含むための私の推論は、非JavaScriptブラウザとSEOの理由からです。このポストの時点では、JavaScript以外のブラウザは、SEOを行うユーザーの〜1.4%(私が読んだすべてのものの2%未満)を占めています。繰り返しますが、SEOはこの投稿を読んでいるすべての人に関連していない可能性があります。この場合、これはスキップできます。

phantom.jsを使用してThomas Davisのチュートリアルがかなり役に立ちました。 http://backbonetutorials.com/seo-for-single-page-apps/

しかし、私が考慮する必要があった別の問題は、最新のIEブラウザを除いてすべて無視されてきた履歴APIです。私のクライアントのユーザーが約15%がIE < = 9を使用していることを考えると、これも問題でした。

最後に、history.jsも使用する必要がありました。要するに、これは非常に単純なウェブサイトを更新するための多くの作業でした。しかし、私はこの試練から多くを学んだ。

1

あなたのバックボーンアプリが本当に単一のページなら、あなたはどんなdjangoビューも必要としません。 index.htmlを静的なファイルとして(生産中であっても、djangoでさえも)提供することができます。そして、あなたがすでにやっているように、バックボーンのルータがあなたのURL設定を処理できるようにします。あなたは、バックボーンの履歴を使用して、偽のURLにナビゲートしたり、アプリケーションのリソース用にURLパラメータなどを追加することができます。私は非常によく、この問題に対処ポストを見つけた

+0

ありがとうございます!私は、非ジャバスクリプトのフォールバックを説明することを望んでいた、とSEOのために説明する必要がありました。上記の私の答えを参照してください。 – snakesNbronies

関連する問題