2

私は、Node.jsなしでpushstateを使用しているBackbone.Marionetteに関する記事を見つけることができませんでした。たとえば、ユーザーは内部ページへのリンクを祖母に送信し、リンクを機能させることができる必要があります。プッシュステート機能は、現実の世界にはまったく適していないようです。誰かがコメントし、おそらくその主題に関する深刻な記事へのリンクを提供できますか?

4

1 に答える 1

3

一般的に言って、あなたがしなければならないことは本当に2つだけです...

  1. を呼び出して、プッシュステートを使用するようにバックボーンに指示しBackbone.history.start({ pushState: true });ます。root: 'myApp'Marionetteアプリがhttp://example.comから直接提供されるのではなく、http ://example.com/myAppから提供される場合は、そのパラメーターに同様のものを追加する必要がある場合もあります。
  2. ユーザーが要求するURLに関係なく、同じコンテンツ(Marionetteアプリ)が(リダイレクトを行わずに)返されるようにWebサーバーを構成します。

欠点は、使用しているWebサーバーのタイプに応じて#2の実装が異なることです。そして、あなたはあなたがどのスタックにいるのかを私たちに教えていません。たとえば、ASP.NETでは、RouteConfig.csファイルに次のようなものを追加して「catchall」ルートを設定することで、これを処理できます。

        // all requests (except those explicitly handled by another route)
        // go to HomeController.Index and then the Backbone router examines
        // the URL client-side to determine client-side what to do
        routes.MapRoute(
            name: "Default",
            url: "{*clientRoute}", // this is wildcard which captures the entire URL
            defaults: new { controller = "Home", action = "Index" }
        );

他のWebサーバースタックには、同じタイプのことを実現するためのさまざまな方法があります。

于 2013-03-08T13:34:37.960 に答える