大家写项目的时候,应该都会去引用jq库吧,每次都去加载这几十K的东西,虽说不大,但是多少都会占用带宽。或许你可以使用缓存,但是强制刷新,或者清空缓存之后,还是会去请求加载。
其实可以使用localstorage来缓存js。只要用户不去remove掉,基本上可以一直保存下来,并且存储量能达到5M,可以把css,js甚至一些图片缓存起来也可以。
写一个简单的小栗子。
//进页面的时候判断是否有jquery if(!store.get('jq')){ //如果没有,则设置localstorage Ajax.init({ type : 'get', url :'jq.php', success : function(d){ //设置 store.set('jq',d); init(); } }); }else{ //否则 init(); }; function init(){ //把jq写进html var js = document.createElement('script'); js.type = "text/javascript"; js.innerHTML = store.get('jq'); document.querySelector('head').appendChild(js); //测试jq是否引入成功 alert(jQuery.fn.jquery); };01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
看下控制台结果。
当第一次进入的时候,会去请求后台,返回jq源码,可以看到有个php的请求:
然后刷新一次,已经没有jq.php的请求了。
测试一下看看jq有没有引入成功。
再到localStorage里面看看,已经有了jq的源码了。