我有一個控制器,它在角度上使用$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,這不是舊版瀏覽器的關鍵功能 –