Deaktivieren Sie die URL-Manipulation in AngularJS
Ich versuche zu schreiben, meine erste web-app mit Angular.
In den normalen Modus (html5Mode aus), Winkel-Kräfte, die Adresse, hash-Teil zu schauen, wie ein "path" (hinzufügen eines führenden "/"), und kodiert Sonderzeichen - zum Beispiel, ermöglicht es einem einzigen "?" und "#" in die hash-und ersetzt die anderen mit %3F und %23.
Gibt es eine Möglichkeit, diese Funktion abzustellen? Ich don ' T wollen, verwenden Sie die $locationProvider /$routeProvider Funktionen - ich möchte analysieren, die hash mich (In meinem Fall, wird der Benutzer eingeben wird, einige "freier text" in die hash-Suche innerhalb meiner website).
Habe ich gelesen, dass der routeProvider kann nicht konfiguriert werden, um reguläre Ausdrücke verwenden...
Wenn htmlMode aktiviert ist, wird dann die Adresse der hash-Teil ist nicht gezwungen, sich wie ein Pfad (ohne führenden "/"), aber es immer noch kodiert Sonderzeichen.
Ich bin mir bewusst, dass einige Browser möglicherweise Kodieren/escape-Sonderzeichen sowieso, aber wenn die Benutzer verwaltet, um einige spezielle Zeichen in die Adressleiste dann weiß ich nicht wollen, es zu ändern.
Dank
InformationsquelleAutor der Frage Oren | 2013-09-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sicher nicht zu den Nebenwirkungen, aber es bekommt den job getan. Beachten Sie, dass es deaktiviert alle Standort-manipulation aus der Win-app, auch wenn beabsichtigt ist.
Getestet in Chrome 30, IE9, IE10.
Inspiriert von https://stackoverflow.com/a/16678065/369724
InformationsquelleAutor der Antwort greg.kindel
Ich eine lokale Kopie angular.js. Suche für
und
kommentieren Sie die entsprechenden Zeilen und angularjs wird die Stoppuhr für die Standort-url ändert.
InformationsquelleAutor der Antwort Yang Zhang
Wenn ich mich Recht erinnere, Angular - routing ist nicht obligatorisch, aber dann müssen Sie kümmern sich um nachladen Controller, views, etc.
InformationsquelleAutor der Antwort Adam