介绍如何使用你的JavaScript
JavaScript如今极点重要。一些网站运用JavaScript来添加魅力;如今的许多Web应用程序依托它;其间一些甚至是完全用JavaScript编写而成的。我在本文中将指出一些重要的规则,引见如何运用你的JavaScript、运用哪些东西以及你将从中得到什么长处。
包管代码尽量简练
不要什么都依托JavaScript。不要编写重复性的脚本。要把JavaScript当作糖块东西,只是起到美化作用。别给你的网站添加许多的JavaScript代码。只需必要的时分用一下。只需确实能改善用户领会的时分用一下。
尽量减少DOM访问
运用JavaScript访问DOM元素很简略,代码更简略阅读,可是速度很慢。下面引见几个要害:束缚运用JavaScript来修饰网页布局,把对准访问元素的引用缓存起来。有时,当你的网站依托许多的DOM改动时,就应该思索束缚你的符号。这是改用HTML5、抛弃那些正本的XHTML和HTML4的一个充分理由。你可以检查DOM元素的数量,只需在Firebug插件的控制台中输入:document.getElementsByTagName('*').length。
紧缩代码
要供应始末紧缩的JavaScript页面,最有用的方法就是先用JavaScript紧缩东西对你的代码紧缩一下,这种紧缩东西可以紧缩变量和参数称谓,然后供应因而获得的代码,运用了gzip紧缩。
是的,我没有紧缩我的main.js,但你要检查有没有未经紧缩的任何jQuery插件,别忘了紧缩。下面我列出了紧缩方面的几个方案。
◆ YUI紧缩东西(jQuery开发团队就运用它),初学者攻略
(http://www.slideshare.net/nzakas/extreme-JavaScript-compression-with-yui-compressor)、第二攻略 (http://vilimpoc.org/research/js-speedup/)和官方网站(http://developer.yahoo.com/yui/compressor/)。
◆ Dean Edwards Packer(http://dean.edwards.name/packer/)
◆ JSMin(http://crockford.com/JavaScript/jsmin)
GZip紧缩:其背面的主见是,缩短在浏览器和服务器之间传送数据的时间。缩短时间后,你得到标题是Accept-Encoding: gzip,deflate的一个文件。不过这种紧缩方法有一些缺点。它在服务器端和客户端都要占用处置器资源(以便紧缩宽和紧缩),还要占用磁盘空间。
避免eval():当然有时eval()会在时间方面带来一些功率,但运用它肯定是差错的做法。eval()引起你的代码看起来更脏,并且会逃过大多数紧缩东西的紧缩。
加快JavaScript装入速度的东西:Lab.js
有许多超卓的东西可以加快JavaScript装入的速度。值得一提的一款东西是Lab.js。
凭仗LAB.js(装入和阻止JavaScript),你就可以并行装入JavaScript文件,加快总的装入进程。此外,你还可以为需求装入的脚本设置某个按次,那样就能包管依托联络的完整性。此外,开发者声称其网站上的速度提升了2倍。
运用恰当的CDN
如今许多网页运用内容分发网络(CDN)。它可以改善你的缓存机制,由于每个人都可以运用它。它还能为你节省一些带宽。你很简略运用ping检测或运用Firebug调试那些服务器,以便搞清可以从哪些方面加快数据的速度。选择CDN时,要照看到你网站那些访客的方位。记住尽可以运用公共存储库。
面向jQuery的几个CDN方案:
◆ http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js——谷歌Ajax,关于更多库的信息请参阅http://code.google.com/apis/libraries/devguide.html#Libraries。
◆ http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js——微软的CDN
•http://code.jquery.com/jquery-1.4.2.min.js——Edgecast (mt)。
网页结束装入JavaScript
假若你注重用户,用户因互联网联接速度慢而没有脱离你的网页,这是一个非常好的做法。易用性和用户放在首位,JavaScript放在末位。这或许很痛苦,可是你应该有所准备,有些用户会禁用JavaScript。可以在头部分放置需求装入的一些JavaScript,可是条件是它以异步方法装入。
异步装入跟踪代码
这一点非常重要。我们大多数人运用谷歌分析东西(Google Analytics)来获得统计数据。这很好。如今看一下你把你的跟踪代码放在哪里。是放在头部分?仍是说它运用document.write?然后,假若你没有运用谷歌分析东西异步跟踪代码,那也只能怪你自己。
这就是谷歌分析东西异步跟踪代码的姿势。我们必须招认,它运用DOM,而不是运用document.write,这可以更适合你。它可以在网页装入之前检测到其间一些工作,这非常重要。如今想一想这种情况,你的网页甚至还没有装入,全部用户都关闭了网页。已找到了处置页面浏览量失掉的方法。
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-XXXXXXX-XX']); _gaq.push(['_trackPageview']); (function() { var ga = document.createElement('script'); ga.type = 'text/JavaScript'; ga.async = true; ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); })();
没有运用谷歌分析东西?这不是问题,今天的分析东西供应商大多容许你运用异步跟踪。
Ajax优化
Ajax央求对你网站的功用有严重影响。下面我引见关于Ajax优化的几个要害。
缓存你的ajax
先看一下你的代码。你的ajax可以缓存吗?是的,它依托数据,可是你的ajax央求大多应该可以缓存。在jQuery中,你的央求在默许情况下已被缓存,不包括script和jsonp数据类型。
对准Ajax央求运用GET
POST类型央求要发送两个TCP数据包(先发送标题,然后发送数据)。GET类型央求只需求发送一个数据包(这可以取决于你的cookie数量)。所以,当你的URL长度不到2K,你又想央求一些数据时,不妨运用GET。
运用ySlow
说到功用,ySlow既简略,又极点有用。它可以对你的网站进行评分,闪现哪些方面需求改正,以及应注重哪些方面。
另外支一招:把你的JavaScript打包成PNG文件
幻想一下:把你的JS和CSS添加到图片的结束,然后用CSS来裁切,颠末一次HTTP央求来获得应用程序中所需的全部信息。
我比来找到了这个方法。它基本上把你的JavaScript/css数据打包成PNG文件。之后,你可以拆包,只需运用画布API的getImageData()。此外,它非常高效。你可以在不缩小数据的情况下,多紧缩35%左右。并且是无损紧缩!我得指出,对比较宏大的脚正本说,在图片指向画布、读取像素的进程中,你会觉得有“一段”装入时间。
- 1一篇HTML5分裂成两标准
- 2网站运维的小细节和操作
- 3构造开发模板 五种PHP设计模式
- 4每个cookie都是一个名/值对
- 5家居家装类网站融入社区风格方案
- 6PHP 安全措施
- 7百度算法更新,为什么站被降权?
- 8网站建设和营销带来的经济效益
- 9 企业四网合一网站升级版2
- 10网站改版注意的问题
- 11网站建设何以做到内容丰富
- 12MySQL InnoDB之事务与锁详解
- 13PHP Google的translate API代码
- 14RESTful的实现
- 15久途教你怎么样经营自己的网站
- 16玩具租赁系统功能列表
- 17关于编码最佳应用实践
- 18企业网站与其他网站有什么区别和差异呢!
- 192014年玩具租赁市场达8亿,如何抓住这市场良机?
- 20如何玩转数据库设计
- 21玩具租赁电商平台是什么
- 22IEG电子学习系统需求说明书
- 23Windows Azure 网站上运行 CakePHP
- 24玩具租赁商城系统需求6
- 25APC(Alternative PHP Cache)是一个PHP缓存
- 26ecshop中jQuery冲突解决
- 27最新动态-久途迁新址
- 28世界看到你-----微信公众平台
- 29PHP/MYSQL 查询大数据/遍历表
- 30最全Facebook图片存储架构技术
成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼