我在我的网络应用程序中使用backbone.js,特别是路由和历史记录。
所以我有一个像http://localhost/search/John+Doe这样的网址。
在我的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 :(得分:0)
您可以尝试保存最新值:
$(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});
});
如果您导航到your.domain.com/yourapp#search然后导航到your.domain.com/yourapp#help您将在控制台中看到最近输入的路线。