1

初めてのバックボーン アプリを作成しています。プッシュステートを有効にしています。ルーターには2つのルートがあります。

    'link1(/)' : 'link1Route',              
    'link2(/)' : 'link2Route'

私のlink1ページには、次のようにリンク2を指すリンクがあります。

    <a href="link2">Link2</a>

リンクをクリックすると、ルーターが引き継ぎ、期待どおりに link2Route に移動します。ただし、リンクにカーソルを合わせると、ステータス バーに、リンクが domain.com/link2 ではなく domain.com/link1/link2 にあることが示されます。link1 ページの相対 URL 構造を考えると、これは正しいことです。残念ながら、ユーザーが新しいウィンドウまたはタブでリンクを開くことにした場合、バックボーンのルーターは有効になりません。これは、新しいウィンドウまたはタブで開くとサーバーから新しいページが読み込まれるためです。もちろん、問題は domain.com/link1/link2 が存在しないことです。

この状況に対処するには、どのような方法がありますか? ありがとう。

4

2 に答える 2

0

サーバー レベルで正しい index.html を提供する必要があります — これは、JavaScript がページに読み込まれる前であるためです。

http://readystate4.com/2012/05/17/nginx-and-apache-rewrite-to-support-html5-pushstate/

于 2013-02-11T22:06:49.860 に答える