首页 新闻 会员 周边 捐助

web网页引入过多js脚本的弊端

0
悬赏园豆:10 [已解决问题] 解决于 2013-11-24 21:39

现在流行许多javascript框架(extjs,easy ui ,jquery ui等),这对许多的后台开发人员来讲无疑是一个快捷搞定前端页面的途径,但实现绚丽的ui界面的同时必须引入大量的js文件库,请问这样对网站有什么弊端和影响,在开发中我们应该怎样把握,才能更好的做到seo优化,做到网站性能速度的双丰收?

xiangxldream的主页 xiangxldream | 菜鸟二级 | 园豆:201
提问于:2013-07-14 00:21
< >
分享
最佳答案
1

1. 按需加载,requireJS seaJS

2. 动态加载, iframe defer async createElement("script")

3. 顺序加载, LabJS

4. 缓存工作, cache-control

5. 压缩, gzip jsmin

6. 优化代码, 这个靠编程能力

以上只给了关键词~

 

还有一些很不错的技术

1. base64传输

2. 将js转换成图片格式,前台利用canvas读取出来重新转换为js(现代浏览器推荐)

3. CDN内容分发网络

Barret李靖 | 菜鸟二级 |园豆:230 | 2013-07-27 18:05

将js转换成图片格式,前台利用canvas读取出来重新转换为js(现代浏览器推荐)

有没有传说中的demo~

一梦万年 | 园豆:200 (初学一级) | 2013-11-11 10:50

将js转换成图片格式,前台利用canvas读取出来重新转换为js(现代浏览器推荐)

我勒个去,这也行,第一次听说,还是太菜啦

Canrz | 园豆:200 (初学一级) | 2013-11-11 15:44
其他回答(7)
0

js要注意压缩,实际运用的话可以用min版本,需要什么文件就加载什么js min版本。不要一股脑的全部加载全部js文件。

chenping2008 | 园豆:9836 (大侠五级) | 2013-07-14 11:18
0

弊端就是页面的加载时间比较长(尤其是Extjs)

TiestoRay | 园豆:687 (小虾三级) | 2013-07-14 13:24
0

影响很明显就是加载page时间过长!

优化方式:

1.采用压缩js文件引入方式!

 

2.尽量不要在头部引入,放到页脚

3.还有更好的方式,就是动态载入JavaScript脚本,这种方式,网易等都在用!所谓动态就是用户点击,或者触发某一动作才去装载执行JavaScript,而不是页面加载的时候就去执行了!

Beyond-bit | 园豆:2885 (老鸟四级) | 2013-07-14 14:41

你好,你指的压缩js文件是指去掉所有代码区域的空格,使代码密密麻麻的放在一起吗,请问这种方式怎么压缩?

支持(0) 反对(0) xiangxldream | 园豆:201 (菜鸟二级) | 2013-07-14 21:29

@xiangxldream: 恩恩,是这样的!现在网上的在线压缩很多!百度一下就有!给你一个http://www.ostools.net/jscompress

压缩后代码的编译效率较高!

支持(0) 反对(0) Beyond-bit | 园豆:2885 (老鸟四级) | 2013-07-14 22:07

@Beyond-bit: 谢谢

支持(0) 反对(0) xiangxldream | 园豆:201 (菜鸟二级) | 2013-11-24 21:38
1

放在Head中脚本会影响页面加载和渲染时间,通常将脚本放在页面最尾端加载,这样浏览器可以先渲染出页面,然后再下载脚本。对于js 类库,如果可以定制则根据所需定制后再使用,如果不支持定制那么就采用其压缩版(min版)。 无论是第三方lib库还是自己开发的库,都应该考虑以下策略:

1. 异步加载js

2. 按需加载js

3. JS代码优化

4. 压缩js

推荐你使用require js,他可以帮助你构建合理的js框架,每个页面都可以根据自身需要去异步加载js

收获园豆:10
Mr 88 | 园豆:238 (菜鸟二级) | 2013-07-27 13:19
1

加载问题  

  

想些事... | 园豆:98 (初学一级) | 2013-08-01 12:10
0

可以在服务器段有个配置可以在前端用src=extjs,easy ui ,jquery ui这样的方式只请求一次就可以把所有的js一次性加载进来,那样优化就会比较明显,优化最重要的就是减少http请求。其他的次要。

天隐 | 园豆:161 (初学一级) | 2013-10-09 16:44
0

不错,学习了,Thanks

bin790302901 | 园豆:195 (初学一级) | 2013-11-25 21:44
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册