`

动态加载JS文件提升访问网站速度

阅读更多
原帖地址:http://www.cnblogs.com/guozeng/archive/2013/05/29/3107150.html

  相对与HTML,CSS,javascript是最影响浏览器性能的,因为浏览器在遇到<script>标签时,必须等待js代码下载和执行完毕后再执行后面的内容,因此当页面中js文件过多时,网站访问速度明显下降。然而,现在的web应用用到js只会越来越多,那么我们如何有效组织js代码来提高网站的性能呢?通过相关资料,我总结了以下需要注意的几点。


  1、将script标签置于网页底部,一般置于<body/>标签之前。这样用户不必等待js加载并执行完成后就可以完整的浏览整个网页。


  2、将多个js文件合并到一个url中加载,以减少http请求。对于此点,可阅读 http://dancewithnet.com/2010/06/08/minify-js-and-css-files-in-server/


  3、通过js动态创建<script>标签动态加载js文件,以达到无阻赛的加载脚本,可以写一个函数来做这个工作



 1 function loadScript(url,callback){
2 var script=document.createElement("script");
3 script.type="text/javascript";
4 if(script.readyState){
5 //ie 浏览器
6 script.onreadystatechange=function(){
7 if(script.readyState=="loaded" || script.readyState=="complete"){
8 script.onreadystatechange=null;
9 callback();
10 }
11 }
12 }else{
13 script.onload=function(){
14 callback();
15 }
16 }
17 script.src=url;
18 document.getElementByTagName("head")[0].appendChild(script);
19 }


以上这种方式是一种跨浏览器的非常易用的方法,也可以通过XMLHttpRequest脚本注入的方式,但此方式有跨域的限制,所以推荐上面的方式。


互联网上有很多这样的js库,供我们下载使用:


    Lazyload类库,下载地址:http://github.com/rgrove/lazyload/


    使用方法




1 <script type="text/javascript" src="lazyload-min.js"></script>
2 <script type="text/javascript">
3 LazyLoad.js("test.js",function(){
4 Application.init();
5 })
6 </script>



同时加载多个文件




<script type="text/javascript" src="lazyload-min.js"></script>
<script type="text/javascript">
LazyLoad.js([
"test1.js","test2.js","test3.js"],function(){
Application.init();
})
</script>



    LABjs类库下载地址:http://labjs.com


    使用方法



<script type="text/javascript" src="lab.js"></script>
<script type="text/javascript">
$LAB.script(
"test.js").wait(function(){
Application.init();
});
</script>
//加载多个
<script type="text/javascript">
$LAB.script(
"test1.js").script("test2.js").wait(function(){
Application.init();
});
</script>


LAB的好处是可以灵活的处理是否加载。




<script type="text/javascript" src="lab.js"></script>
<script type="text/javascript">
$LAB.script(
"test1.js").script("test2.js").wait().script("test3.js").wait(function(){
Application.init();
});
</script>



这样就可以让test1.js和test2.js加载执行完成后再加载执行test3.js。


 


    

本文链接

分享到:
评论

相关推荐

    同步加载JS文件Demo

    1. **动态`&lt;script&gt;`元素**:在"init.js"中,可以动态创建`&lt;script&gt;`元素,并设置其`src`属性为要加载的JavaScript文件。然后将这个元素插入到DOM中,浏览器会自动开始下载并执行该脚本。 2. **利用模块系统**:...

    打包多CSS或JS文件以加快页面加载速度的Handler (asp.net)

    总的来说,`HttpCombiner`是ASP.NET中一个强大的工具,通过打包和压缩CSS和JS文件,它可以有效地提升网站的加载速度和用户体验。合理地运用这一技术,能够帮助开发者在不牺牲功能的前提下,优化网站性能,降低服务器...

    网站开发中常用JS文件

    在网站开发中,JavaScript(简称JS)是一种必不可少的前端编程语言,它为网页提供了动态交互的能力,让用户体验更加丰富和个性化。"网站开发中常用JS文件"这个压缩包集合了两个重要的JS应用实例:淘宝网广告代码和...

    Extjs3动态加载js源码

    动态加载JS(Dynamic JavaScript Loading)是现代Web开发中的一个重要技术,它可以提高页面的加载速度,减少初始加载的数据量,并在需要时按需加载资源,从而优化用户体验。 在ExtJS 3中,虽然没有像ExtJS 4那样...

    js文件 合并 压缩 缓存 延迟加载

    "js文件合并、压缩、缓存、延迟加载"是提高页面加载速度和用户体验的关键技术。这里,我们详细探讨这些概念及其在MVC应用程序中的应用。 首先,**js文件合并**是将多个JavaScript文件整合到一个文件中的过程,以...

    jquery及js实现动态加载js文件的方法

    动态加载可以有效减少页面初始加载的资源量,提升用户访问速度,是前端优化中一个重要的技术点。同时,本文也提到了在JavaScript程序设计中可能遇到的错误与调试技巧,以及扩展技巧,这些都是提高JavaScript开发效率...

    JS文件压缩min文件

    在开发过程中,为了提高网页加载速度、减少网络传输的数据量以及提升用户体验,开发者通常会将JS文件进行压缩,这就是所谓的“JS文件压缩”。其中,“min”格式的JS文件就是经过压缩优化后的版本,它们去除了不必要...

    bootstrap-treeview树节点实现动态加载(懒加载)

    动态加载(也称为懒加载)是一种优化性能的技术,只在用户需要时才加载数据,而不是一次性加载所有数据,这对于处理大量数据或层级结构尤其有用,可以显著提升页面加载速度和用户体验。 本项目在官方Bootstrap ...

    提升WKWebView加载速度.zip

    对于静态资源,如图片、CSS和JavaScript文件,可以将其缓存到本地,下次加载时直接从缓存读取,避免网络请求。 3. **异步初始化**:WKWebView的初始化过程是阻塞的,如果在主线程上进行,会阻塞用户界面。因此,应...

    java开发中压缩js,css文件

    在Java开发中,压缩JavaScript(js)和CSS(样式表)文件是一项常见的优化技术,用于减少网页加载时间和提高用户体验。这种技术通常被称为“文件合并与压缩”,它将多个js和css文件合并为一个文件,并去除其中不必要...

    加快网站访问速度的 Web设计方法探讨

    本文旨在探讨通过Web设计优化来提升网站访问速度的方法,具体包括利用Firefox/Firebug插件YSlow进行评估与优化、服务器配置优化以及其他相关策略。 #### 1. Firefox/Firebug插件YSlow简介 YSlow是由Yahoo开发的一...

    js文件,一般的网站都用的上

    标题中提到的"js文件,一般的网站都用得上",这句话强调了JavaScript在现代网页开发中的重要性。无论是在大型电商网站、社交媒体平台还是个人博客,JavaScript都发挥着不可或缺的作用。 描述中列举了一些常见的...

    让网站访问提度,提高加载效率

    ### 提升网站访问速度与加载效率的关键策略 在当今互联网高度发达的时代,用户对网站的访问速度和加载效率有着越来越高的要求。一个响应迅速、加载流畅的网站不仅能提供更好的用户体验,还能有效提升网站的搜索引擎...

    谷歌浏览器--优化版Chrome 92.0.4515.131优化上网速度正式版 了浏览器速度,提高加载速度、提升网站检测速度

    在技术层面上,Chrome 92.0.4515.131优化了多项关键性能指标,如加载速度和网站检测速度。这主要得益于以下几个方面: 1. **渲染引擎优化**:Chrome使用Blink渲染引擎,这是一个高效的HTML5和CSS3支持的引擎。优化...

    网站访问速度优化提速方法

    本文将根据提供的内容,详细介绍几种有效提升网站访问速度的方法。 #### 一、服务器优化 **1. 操作系统与环境配置:** - 使用64位Windows Server 2008 R2 + Hyper-V + .NET Framework + IIS 7.5 或 64位Windows ...

    雅虎给出的34条优化网站访问速度加快方法

    下面,我们将详细解析这些方法,帮助你理解并应用它们,以实现网站访问速度的显著提升。 1. **减少HTTP请求**:每个HTTP请求都会增加页面加载时间。通过合并CSS和JavaScript文件、使用CSS Sprites技术将多个图像...

    jQuery实现动态加载(按需加载)javascript文件的方法分析

    以下是一个简单的示例,展示了如何使用jQuery动态加载JavaScript文件: ```html &lt;script type="text/javascript" src="jquery-1.7.2.min.js"&gt; 利用 jQuery 动态加载 js &lt;div id="content"&gt;&lt;/div&gt; ...

    flexible.js_flexible.js下载_flexible.js下载_适配js文件_

    1. 引入flexible.js:在HTML文件的`&lt;head&gt;`部分引入flexible.js库,确保它在其他CSS和JavaScript资源之前加载,以便在页面渲染初期就能执行适配。 2. 配置Echarts:在初始化Echarts实例时,利用flexible.js提供的`...

    Extjs动态加载菜单

    总的来说,理解并掌握ExtJS的动态加载菜单功能,不仅可以提升Web应用的用户体验,还可以帮助开发者更好地优化应用性能。通过灵活运用动态加载、拖放、DWR等技术,可以构建出更符合用户需求的交互式菜单系统。

    WKWebView优先加载本地资源文件

    WKWebView相比UIWebView有着更好的性能和更低的内存占用,支持现代Web标准,能更好地执行JavaScript,使得网页加载速度更快。在本项目中,我们关注的是如何优化WKWebView的加载过程,特别是如何实现本地资源优先加载...

Global site tag (gtag.js) - Google Analytics