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에 의해 중 .navigate 또는 브라우저의 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}); 
}); 

을 최근에 입력 한 경로를 콘솔 화하십시오.