如何删除使用AngularJS的HTML中的浏览器缓存?

时间:2016-02-23 17:08:21

标签: html angularjs browser-cache

如何删除使用AngularJS的HTML中的浏览器缓存?我在index.html中使用了以下内容。我也尝试在我的app.js中使用$templateCache,但没有用。

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />


app.config(['$routeProvider', function($routeProvider) {
          $routeProvider.when('/login',{templateUrl: '/partials/login.html',controller:'loginCtrl'});
        $routeProvider.when('/fingerprint',{templateUrl: '/partials/fingerprint.html',controller:'fingerprintCtrl',resolve: {
                            factory: checkRouting
                        }});
        $routeProvider.otherwise({redirectTo: '/login'});
        }]).
        run(function($templateCache) {
          $templateCache.removeAll();
        });

        var checkRouting= function ($q, $rootScope, $location,$http) {
            if ($rootScope.loggedUser) {
                return true;
            } else {
                var deferred = $q.defer();
                $http.post("#/fingerprint", { userToken: "blah" })
                    .success(function (response) {
                        $rootScope.loggedUser = response.loggedUser;
                        deferred.resolve(true);
                    })
                    .error(function () {
                        deferred.reject();
                        $location.path("/");
                     });
                return false;
            }
        };

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

如果它真的存储在浏览器的缓存中,则它与$templateCache无关,因为Angular仅使用它来缓存模板。

也许在标题中检查服务器的缓存设置是否为静态*.html

顺便问一下,如何从浏览器中手动删除缓存页面?通过转储所有临时数据?

答案 1 :(得分:0)

在html中添加锚标记'Clear Cache'href =“javascript:location.reload(true)”