Entfernen Sie den Template-Cache beim Abmelden Angular.js

8

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 folgen

HTML-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?

    
Kuldeep Daftary 12.08.2014, 15:12
quelle

2 Antworten

13

$templateCache ist nur ein Wrapper um $cacheFactory mit einem bestimmten Namen. Das ist buchstäblich sein gesamter Code:

%Vor%

$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):

%Vor%

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.

    
Chad Robinson 12.08.2014 15:46
quelle
0

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.

    
Israel Vázquez 19.07.2016 19:32
quelle