JavaScript现在极其重要。一些网站使用JavaScript来增添魅力;如今的许多Web应用程序依赖它;其中一些甚至是完全用 JavaScript编写而成的。我在本文中将指出一些重要的规则,介绍如何使用你的JavaScript、使用哪些工具以及你将从中得到什么好处。
【51CTO外电头条】 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%左右。而且是无损压缩!我得指出,对比较庞大的脚本来说,在 图片指向画布、读取像素的过程中,你会觉得有“一段”装入时间。
原文:http://www.1stwebdesigner.com/design/load-JavaScript-faster/
相关推荐
JavaScript 是Web开发中不可或缺的一部分,尤其在Web2.0时代,JavaScript在客户端处理大量任务,因此它的性能优化至关重要。浏览器中的JavaScript执行具有阻塞特性,意味着在执行脚本时,浏览器无法进行其他操作,如...
首先,前端性能优化的基础在于理解网页加载流程。当用户访问一个页面时,浏览器会解析HTML文档,构建DOM树,然后根据CSS和JavaScript来渲染页面。优化此过程可以显著减少页面加载时间。 1. **懒加载**:对于非首屏...
本文将深入探讨一些JavaScript性能优化的方法,并提供实际应用场景,帮助开发者在日常工作中更好地实践这些优化策略。 #### 一、变量作用域与提升 **1.1 变量声明** - **作用**: JavaScript中的变量提升机制可以...
JavaScript是Web开发中不可或缺的一部分,它为网页带来了交互性和动态性。然而,随着现代Web应用的...以上是JavaScript性能优化的一些关键点,实际应用中需要结合具体情况灵活运用,持续优化,以提供更好的用户体验。
JavaScript现在极其重要。一些网站使用JavaScript来增添魅力;如今的许多Web应用程序依赖它;...我在本文中将指出一些重要的规则,介绍如何使用你的JavaScript、使用哪些工具以及你将从中得到什么好处
移动APP的H5前端性能优化是提升用户体验的关键环节,它涉及到加载速度、图片显示、CSS渲染等多个方面。本文将深入探讨这些关键领域的优化策略。 首先,我们关注的是**加载优化**。加载速度直接影响用户对应用的第一...
### 浏览器的加载与页面性能优化:深入探索与实践 #### 一、网络层:DNS优化与CDN利用 浏览器性能优化的第一步往往发生在网络层,特别是DNS解析和内容分发网络(CDN)的高效利用。DNS解析延迟是网络请求中常见的...
大型网站性能优化实战:从前端、网络、CDN 到后端、大促的全链路性能优化详解 本文档详细介绍了大型网站性能优化的重要性和价值,以及如何从前端、网络、CDN 到后端、大促等多个方面进行性能优化。性能优化是提高...
- 采用异步加载的方式加载资源,如使用`async`或`defer`属性加载JavaScript文件。 - 实现按需加载,例如懒加载图片和组件。 - 使用Web Workers进行复杂的运算,避免阻塞主线程。 4. 浏览器渲染优化:提升浏览器...
五、性能优化与注意事项 - 使用`Intersection Observer API`:这是一种现代的、性能更好的滚动检测方法,它减少了滚动事件的处理频率。 - 预加载策略:对于关键资源,可以考虑预加载,确保用户快速看到主要内容。 - ...
在网页开发中,"页面加载中js"是一个关键的概念,涉及到用户体验和页面性能优化。页面加载过程中,JavaScript(js)的执行对用户感知的页面加载速度有着直接影响。在这个主题下,我们将深入探讨JavaScript如何影响...
### Web前端性能优化知识点 #### 一、构建优化 **1.1 文件压缩与合并** - **文件压缩**:利用工具如UglifyJS、Terser等对JavaScript、CSS等静态资源进行压缩,减少文件体积,从而加快加载速度。 - **文件合并**:...
### 极速加载:CSS性能优化全攻略 随着互联网技术的发展和用户需求的不断提高,页面加载速度成为衡量网站质量的重要指标之一。CSS作为控制网页样式的关键技术,其性能的优化对于提升页面加载速度至关重要。本篇文章...
总的来说,"高性能JavaScript PDF"涵盖了如何利用JavaScript技术提高PDF文档的交互性和性能,这包括理解PDF的JavaScript支持、API使用、性能优化、安全实践等多个方面。通过深入学习和实践这些知识点,开发者能够...
前端网络性能优化主要关注减少页面加载时间。CDN(Content Delivery Network)是一个关键的工具,它通过在全球部署多个节点,将静态资源如图片、CSS和JavaScript文件缓存到离用户最近的服务器上,从而减少网络延迟,...
优化措施包括压缩和合并JavaScript文件、使用非阻塞方式加载JavaScript文件、避免在文档加载完成后修改DOM过多等。此外,还可以采用JavaScript懒加载技术,将非核心脚本的加载推迟到用户需要时再执行,从而加快页面...
总的来说,动态加载JavaScript文件是一个有效的优化策略,它可以帮助我们提升网页性能,减少首屏加载时间,提高用户体验。通过合理地使用`<script>`标签的特性,或借助`XMLHttpRequest`和`fetch` API,我们可以灵活...
页面性能优化是一个系统性的工程,需要我们从页面的生命周期开始,分析加载阶段、交互阶段和关闭阶段中影响页面性能的主要因素,并对这些因素进行详细的分析和优化。只有通过系统地优化页面性能,我们才能提高用户...
网站性能优化是提升用户体验、降低服务器负担的关键环节,尤其在当今互联网环境中,用户对网页加载速度有着极高的期待。本文将深入探讨网站性能优化的方案和原理,主要围绕"高性能网站建设指南(上1).pdf"这份资料...