我有一个控制器,它在角度上使用$location
服务,但是我们只需要在HTML5模式下使用它,如果浏览器不支持history.pushstate
我们希望忽略来自控制器的服务所以它不会将URL重写为/#/2016-17
,而是不会执行任何路由。但是,如果您将$location
注入控制器,它将使用hashbang方法自动路由。下面在某些浏览器上向控制器注入服务
代码以供参考:
function SearchAdvancedController($location) {
$location.url("/", false);
}
function config($locationProvider) {
$locationProvider.html5Mode({
enabled: true,
rewriteLinks: false,
requireBase: false
});
}
任何想法?
谢谢你们。
角度主要是为SPA。如果浏览器不支持'history.pushstate',每次都要重新加载应用程序? –
@SteevePitis我不希望它做任何事情,$ location不是一个重要的功能,它用于的所有功能都是当用户搜索时更改URL,这不是旧版浏览器的关键功能 –