600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > 关于angularJs清除浏览器缓存的方法

关于angularJs清除浏览器缓存的方法

时间:2019-09-13 09:08:07

相关推荐

关于angularJs清除浏览器缓存的方法

浏览器缓存,有时候我们需要他,因为他可以提高网站性能和浏览器速度,提高网站性能。但是有时候我们又不得不清除缓存,因为缓存可能误事,出现一些错误的数据。像股票类网站实时更新等,这样的网站是不要缓存的,像有的网站很少更新,有缓存还是比较好的。

以下是传统的清除浏览器的方法

meta方法

[html]

//不缓存

<METAHTTP-EQUIV="pragma"CONTENT="no-cache">

<METAHTTP-EQUIV="Cache-Control"CONTENT="no-cache,must-revalidate">

<METAHTTP-EQUIV="expires"CONTENT="0">

清理form的临时缓存

[html]

<bodyonLoad="javascript:document.yourFormName.reset()">

ajax清除缓存

[html]

$.ajax({

url:"",

dataType:"json",

data:{},

cache:false,

ifModified:true,

success:function(response){

//操作

}

async:false

});

用随机数,随机数也是避免缓存的一种很不错的方法!

[html]

URL参数后加上"?ran="+Math.random();//当然这里参数ran可以任意取了

用随机时间,和随机数一样。

[html]

在URL参数后加上"?timestamp="+newDate().getTime();

用php后端清理

[html]

在服务端加header("Cache-Control:no-cache,must-revalidate");等等(如php中)

下面介绍关于angularJs项目中清除浏览器的方法,当然以上传统的方法也是可以适用的,但对于angularJs来说还需添加以下几项:

一、清除模板缓存

[javascript]

.run(function($rootScope,$templateCache){

$rootScope.$on("$routeChangeStart",function(event,next,current){

if(typeof(current)!=="undefined"){

$templateCache.remove(current.templateUrl);

}

});

});

二、html添加随机参数

[javascript]

.state("content",{

url:"/",

views:{

"bodyInfo":{templateUrl:"tpls/bodyInfo.html?"++newDate(),

controller:"bodyInfoCtrl"},

"header":{templateUrl:"tpls/header.html?"++newDate(),

controller:"headerCtrl"

},

"footer":{templateUrl:"tpls/footer.html?"++newDate(),

controller:"footerCtrl"

}

}

})

[html]

<linkrel="stylesheet"href="stylesheets/main.css?version=1.0.3">

三、清除route缓存

[javascript]

.config(["$stateProvider","$urlRouterProvider","$locationProvider","$httpProvider",function($stateProvider,$urlRouterProvider,$locationProvider,$httpProvider){

//$urlRouterProvider.when("","/home");

$urlRouterProvider.otherwise("/");

if(!$httpProvider.defaults.headers.get){

$httpProvider.defaults.headers.get={};

}

$httpProvider.mon["X-Requested-With"]="XMLHttpRequest";

$httpProvider.defaults.headers.get["Cache-Control"]="no-cache";

$httpProvider.defaults.headers.get["Pragma"]="no-cache";

好了……就这么多了

如果还有其他方法欢迎指点迷津!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。