(function($){ window.app = { init: function() { app.router = new app.Router(); Backbone.history.loadUrl = function(fragmentOverride) { var fragment = this.fragment = this.getFragment(fragmentOverride).replace(/^.+\.php\/?/, ''); console.log('Navigated URL: '+fragment); var matched = _.any(this.handlers, function(handler) { if (handler.route.test(fragment)) { handler.callback(fragment); return true; } }); return matched; }; Backbone.history.start({ pushState: true }); } }; app.Router = Backbone.Router.extend({ routes: { '' : 'index' }, index: function() { console.log('index fired') } }); $(function(){ app.init(); }); })(jQuery, undefined);