在早期版本中,我曾经测试过是否应该在页面加载时手动触发popstate ,因为Chrome会在加载后立即触发,而Firefox和IE则不会。 if ($.browser.mozilla || $.browser.msie) { $(window).trigger(‘popstate’); } 现在他们在1.9中删除了浏览器对象,我应该如何测试这些浏览器? 或者我如何计算是否需要在页面加载时使用popstate ? 代码是: $(function(){ $(window).on(‘popstate’, popState); // manual trigger loads template by URL in FF/IE. if ($.browser.mozilla || $.browser.msie) { $(window).trigger(‘popstate’); } }); 更新 去了这个: function popState(e){ var initial = e.originalEvent === undefined || e.originalEvent.state === null; if(!initial){ activateRoute({ key: e.originalEvent.state.key, settings: e.originalEvent.state.settings },’replace’); } […]