Ich versuche meine erste Web-App mit Angular zu schreiben.URL Manipulation in AngularJS deaktivieren
Im normalen Modus (html5Mode off) zwingt Angular den Hash-Teil der Adresse so, dass er wie ein "Pfad" aussieht (fügt ein führendes "/" hinzu) und codiert Sonderzeichen - zum Beispiel erlaubt er ein einzelnes "?" und "#" im Hash und ersetzt die anderen mit% 3F und% 23.
Gibt es eine Möglichkeit, diese Funktion auszuschalten? Ich möchte nicht die $ locationProvider/$ routeProvider Funktionen verwenden - Ich möchte den Hash selbst analysieren (In meinem Fall wird der Benutzer einige "Freitext" im Hash eingeben, um in meiner Website zu suchen).
ich gelesen, dass die routeProvider nicht verwenden reguläre Ausdrücke konfiguriert werden ...
Wenn htmlMode eingeschaltet wird, dann wird der Hash-Teil Adresse ist wie ein Weg zu suchen nicht gezwungen (keine führende „/“), aber es codiert immer noch Sonderzeichen.
Ich bin mir bewusst, dass einige Browser die Sonderzeichen sowieso codieren/entziehen, aber wenn der Benutzer einige Sonderzeichen in seiner Adressleiste eingeben konnte, möchte ich es nicht ändern.
Dank
Huh, ich habe diese Feature-Idee vor langer Zeit aufgegeben ... Nur für den Rekord, ich akzeptiere deine Antwort, obwohl ich es nicht getestet habe. – Oren
Danke. Hoffentlich wird jemand im angularjs-Team darüber stolpern und mir sagen, dass es einen richtigen Weg gibt. Diese Lösung hat viele Versuche/Fehler gemacht und wurde nicht gefunden, bis ich anfing, den Quellcode von angular zu lesen. Der Kunde ist jetzt glücklich, und ich werde das Framework so schnell wie möglich ausrangieren. Es ist ein beeindruckendes Spielzeug, aber es hat sich als unpraktisch erwiesen zu lernen und zu erweitern. –
Winkelversuche zur Manipulation der Position, die zu einer Endlosschleife führt. – gronke