Wie wird der Angular Template Cache entfernt, sobald der Benutzer auf Logout klickt? Wir haben gründlich geforscht und versucht, die meisten der verfügbaren Lösungen zu implementieren. Wir haben versucht,
zu folgenHTML-Meta-Tags
%Vor%Serverseite
%Vor%JavaScript
Wir haben versucht, den Browserverlauf zu löschen, wie in diesem Blog
Problem, mit dem wir uns gerade konfrontiert sehen, ist, wenn sich ein Benutzer von unserer App abmeldet und auf die Schaltfläche "Zurück" drückt, werden leere HTML-Vorlagen angezeigt, da die Dienste nicht zwischengespeichert werden. Wie sollen wir sicherstellen, dass auch keine Vorlagen zwischengespeichert werden?
$templateCache
ist nur ein Wrapper um $cacheFactory
mit einem bestimmten Namen. Das ist buchstäblich sein gesamter Code:
$cacheFactory
hat eine removeAll()
-Methode. Versuchen Sie dies, wenn Sie es selbst verkabeln möchten (z. B. in einem Dienst, in den $cacheFactory
eingefügt wurde):
Aber vielleicht möchten Sie das Caching vollständig deaktivieren, wenn Ihre Anwendung sicherheitsrelevant ist. Sie können einen reload () -Aufruf für den gesamten Browser ausführen, um alle lokalen JS-Variablen auszugeben, und dann werden Ihre No-Cache-Pragmas oben auf den tatsächlichen HTTP-gesteuerten Assets tun, was Sie wollen.
Ich habe eine Lösung gefunden, die mein Problem, usign php, hier löst How to Browser-Cache mit PHP löschen?
Ich denke, Sie können eine HTTP-Anfrage an eine Datei php mit diesen Headern setzen: header ("Cache-Control: no-cache, muss revidieren"); header ("Verfällt: Mo, 26 Jul 1997 05:00:00 GMT");
In meinem Fall ist alle meine App auf Angularjs, aber ich verbinde mich mit einer API mit PHP, also in diesem PHP habe ich die Header und es funktioniert!
Ich hoffe, Sie helfen!
Bearbeiten: Mein Problem war auf mobilen Browser (IE Rand von WindowsPhone10), und keine Probleme mehr mit dieser Lösung.
Tags und Links angularjs back caching browser-cache