让你的网页访问更快的N种方式,前端必须掌握

思路

从前端的角度来说,访问时长=总大小/网速,所以要提高效率,要么减小需要传输的内容,要么提高网速。

对于企业内部应用来说,例如电网、电信、石油、石化等企业,很多应用在内网,可以通过提高内网带宽来提高网速。对于互联网来说,网速是不可控的,所以只能在传输内容上做文章。

总体上我觉得有两个思路:一是确实减小内容,二是将要加载的内容分为多次加载,也就是延迟加载。

一、确实减小内容

1、使用工具分析问题:首先你要知道你传输的内容有多大、请求多少次,利用chrome浏览器的调试工具(ff等也都有类似工具),选择网络选项卡、分析选项卡等,就可以清楚的看到,自己的网页有多少个请求,每次请求传了多少东西,花了多长时间,一共多长时间等等。然后就是从最耗时的地方下手。因为通常80%的问题只出在20%的东西身上。

2、系统图片:罪魁祸首一般是图片,因为js、css、html等毕竟是文本,只要你不瞎搞,一般问题不大。看看chrome的控制台,看网站下载了多少个图片,这些图片有多大。然后要做的就是压缩这些图片,减小图片的尺寸、降低图片的质量,等等。至于压缩到什么程度,这要看你自己的需求了,通常是越小越好,直到你觉得质量再低效果就无法接受了。

3、用户图片:上面的方法有个问题,只能搞定自己系统的图片,搞不定用户上传的图片,现在手机拍的照片动辄6-7MB,小的也有2MB以上,一个页面随便来几个就别想打开了。所以需要对用户上传的图片也进行压缩,推荐在用户上传时采用html的canvas组件进行压缩,传送门:http://www.cnblogs.com/xiao-yao/p/3608223.html,可以做到缩放图片尺寸,也可以压缩质量。看不懂的可以Q群38823977找我。

4、Javascript:图片问题解决了一般就差不多了。如果还达不到要求,就再进一步分析。通常来说下一个要解决的就是js。搞开发的都懒,喜欢搞一个公共页面,把可能需要的一堆js都放进去,光js就好几MB,建议不要这样搞。1)只引用自己需要的js。2)js做压缩,例如用jquery.min.js替换掉jquery.js。3)采用异步方式加载js,只有在你确实使用需要某个js的时候才加载,比如采用sea.js,传送门http://seajs.org/docs/

5、css sprite:又回到图片,主要针对css中用的那些小的背景图,比如你处理原型边框的小图,一般一个网站会有10-200个这样的小图,导致请求次数过多,网站变慢,这时就可以考虑把这一堆小图整合在一起,然后用css中背景图片定位的方式来显示。把200个请求变成一个请求,提高访问速度。这个技术除了加快你的访问速度,另一个好处是这些会在同一时间显示,看起来也舒畅一些。传送门:http://www.cnblogs.com/babycool/archive/2012/04/15/2450187.html

二、延迟加载

1、图片:老路子,首当其冲当然还是图片,如果你的图片已经压缩的差不多了,但是还是太大、太多,比如淘宝网,那就延迟加载这些图片。通常有两种方式,效果看淘宝即可。1)打开页面的时候,首屏内容用默认图片替代,加载后再替换。2)非首屏内容,我指的是下拉滚动条才能看到的内容,就先不加载,用户滚动时才加载。

2、html滚动加载,类似于微博,默认加载10条,滚动到下面才加载更多。

3、html5的prefetch技术。就是在你访问一个页面的时候,预判你要访问的下一个页面,于是提前加载,当你访问的时候,就会感觉瞬间加载出来了。有没有感觉很高大上,说白了就是浏览器闲着没事的时候帮你提前加载点东西。其实使用挺简单的,传送门http://www.jianshu.com/p/7f58ddfc1392

三、最后

以上算是近期研究的记录,欢迎大家补充。

![image.png](https://upload-images.jianshu.io/upload_images/8179604-1050a6d2280fec43.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)


Coding in the rain, coding anywhere, coding my life.

懂一些前端,懂一些后端,是程序猿,也是产品狗,关注大数据、关注人工智能、关注一切有意思的东西。

我是raincoding,喜欢就关注我吧。


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 222,104评论 6 515
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 94,816评论 3 399
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 168,697评论 0 360
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 59,836评论 1 298
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 68,851评论 6 397
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 52,441评论 1 310
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,992评论 3 421
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,899评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 46,457评论 1 318
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 38,529评论 3 341
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,664评论 1 352
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 36,346评论 5 350
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 42,025评论 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,511评论 0 24
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,611评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 49,081评论 3 377
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,675评论 2 359

推荐阅读更多精彩内容