2012-02-09 4 views
1

ウェブアプリケーション、特にルーティングとヒストリにbackbone.jsを使用しています。Backbone.jsのリファラーを確認してください

私はhttp://localhost/search/John+DoeのようなURLを持っています。私router.jsで

、私はこの機能で

search: function() { 
    /* do something */ 
    /* Can I check here, whether I came to this page using Backbone's navigate() 
     or by pasting the url in the urlbar */ 
} 

のようなルートを持って、チェックするバックボーン・組み込みの方法はあり、私はそのページになったのか:をBackbone.routerのいずれかによってブラウザのURLバーにURLを貼り付ける/そこに私を連れてきたリンクをクリックする

私はdocument.referrerを試してみましたが、それは両方のケースで

>> document.referrer 
"" 

です。

答えて

0

あなたは最新の値保存しようとすることができます:あなたがyour.domain.com/yourapp#searchに移動して、あなたがに表示されますyour.domain.com/yourapp#helpする場合

$(function(){ 
    var lastPage = 'stackoverflow.com'; 
    var routesObject = { 
    'help': 'helpFun', 
    'search': 'searchFun' 
    }; 
    var Router = Backbone.Router.extend({ 
     initialize: function() { 
      this.bind('all', function(route) { 
       lastPage = window.location.hash.split('#')[1]; 
      }); 
     }, 
     routes: routesObject, 
     searchFun: function(){ 
      console.log(lastPage); 
     }, 
     helpFun: function() { 
      console.log(lastPage); 
     } 
    }); 
    var router = new Router(); 
    Backbone.history.start({pushState:false}); 
}); 

を最近入力されたルートをコンソール化する。

関連する問題