Ich habe einen Controller, der den $location
Dienst in eckigen verwendet, aber wir müssen es nur im HTML5-Modus verwenden, wenn der Browser history.pushstate
nicht unterstützt, möchten wir den Dienst vom Controller weglassen also schreibt es die URL zu /#/2016-17
nicht um und führt stattdessen kein Routing durch. Wenn Sie jedoch $location
in einen Controller injizieren, routet es automatisch mit der Hashbang-Methode.Inject Services zu Controller in bestimmten Browsern
-Code unten als Referenz:
function SearchAdvancedController($location) {
$location.url("/", false);
}
function config($locationProvider) {
$locationProvider.html5Mode({
enabled: true,
rewriteLinks: false,
requireBase: false
});
}
Irgendwelche Ideen?
Danke Jungs.
Eckig ist hauptsächlich für SPA gemacht. Sie möchten Ihre App jedes Mal neu laden, wenn der Browser 'history.pushstate' nicht unterstützt? –
@SteevePitis Ich will nicht, dass es etwas unternimmt, $ location ist kein kritisches Feature, es wird nur benutzt, um die URL zu ändern, wenn ein Benutzer sucht, was keine Schlüsselfunktion in älteren Browsern ist. –