`
sqj820123
  • 浏览: 48797 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论
阅读更多
    现在的网站都在对用户体验上面下足了功夫,包括UI,样式 但是在这里想着重说明一点 就是js的异步加载会给你带来不可思议的功效。
我记得在最开始的时候。我们根本不懂什么叫做页面优化,以为只是把页面稍微整合的漂亮点就ok 。
到后来慢慢的知道把js放到页面的最下边。感觉这样似乎比以前把js放在网页顶部要好了很好。可是,还有没有比这样更优秀的加载技术呢。
答案就是in.js 异步加载技术,我的网站开始的时候就是把所有的js文件全部放到网页底部,因为js的数据大。所有感觉服务器还是hold不住,特别是当网站的访问量在周末上升到1W的时候,感觉tomcat很吃力,后来分析了页面的加载每个时间段的消耗值。发现js的加载会占用很大的时间。会很大的影响用户的体验。那么怎么样采用in。js来实现异步加载呢?我用我的网站 bushere.com 来作为例子来解释。
    1  首先 在最开始的只是加载一些必要的js文件。例如我在我的网站中底部就只是加载了in.js这个异步加载框架。这个框架只有6K,所以速度很快。
    2  为了方便用户更好的找到所需要的数据。我在页面中采用了搜索指导技术,就是你数据公交线路102的时候。我自动把深圳市公交线路中符合10*开头的公交线路都给你找出来。这样用户肯定觉得很舒服,但是带来一个新的问题 ,就是这些数据文件很大怎么办?要是一开始的就是加载,那就有一下两个问题:1 一开始就加载这些js会导致页面速度慢,用户体验差。2. 如果用户不搜索公交线路。而是搜索其他的公交信息,例如站点名称等等。那一开始加载的这些数据信息 不就是占用了时间,影响了速度,但是用户却不需要的。 所以我采用了 当用户点击这个搜索框的时候,我再开始加载这些公交数据信息,这样既不影响速度,而且也不浪费无用的时间。
    3.还有其他的方面的优化,今天就只讲到这里。经过这个步骤的优化,bushere.com 的速度比以前有了相当大的提高,而且在并发方面经过压力测试,有了显著的提高。当然还有很到其他的方面的优化,我会陆续写出来。欢迎大家指点。
7
10
分享到:
评论
16 楼 mazzystar 2012-07-17  
sqj820123 写道
mazzystar 写道
sqj820123 写道

    也许你觉得是跑题,但是也许是我没有写清楚,但是我的网站就是这样慢慢改进,速度才这样快的,我的网站是跑在虚拟机上面的,你可以感觉下速度怎么样?用户体验怎么样?我写的都是我的网站改进之路。


嗯 可能是看题目先入为主了。

看了你的网站,速度是不错,有个小建议啊 。搜索框中点到“公交线路”这几个灰体字时输入框失去焦点,不能输入文字了。可以改进下哦。


   谢谢你的提醒,其实不是不能输入文字,只是在后台异步加载js数据文件,所以产生暂时的浏览器假死现象,其实一个人做网站 挺累是。


嗯 一个人做会有不同的收获的,加油吧
15 楼 sqj820123 2012-07-17  
mazzystar 写道
sqj820123 写道

    也许你觉得是跑题,但是也许是我没有写清楚,但是我的网站就是这样慢慢改进,速度才这样快的,我的网站是跑在虚拟机上面的,你可以感觉下速度怎么样?用户体验怎么样?我写的都是我的网站改进之路。


嗯 可能是看题目先入为主了。

看了你的网站,速度是不错,有个小建议啊 。搜索框中点到“公交线路”这几个灰体字时输入框失去焦点,不能输入文字了。可以改进下哦。


   谢谢你的提醒,其实不是不能输入文字,只是在后台异步加载js数据文件,所以产生暂时的浏览器假死现象,其实一个人做网站 挺累是。
14 楼 mazzystar 2012-07-17  
sqj820123 写道

    也许你觉得是跑题,但是也许是我没有写清楚,但是我的网站就是这样慢慢改进,速度才这样快的,我的网站是跑在虚拟机上面的,你可以感觉下速度怎么样?用户体验怎么样?我写的都是我的网站改进之路。


嗯 可能是看题目先入为主了。

看了你的网站,速度是不错,有个小建议啊 。搜索框中点到“公交线路”这几个灰体字时输入框失去焦点,不能输入文字了。可以改进下哦。
13 楼 sqj820123 2012-07-17  
mazzystar 写道
sqj820123 写道
mazzystar 写道
sqj820123 写道
mazzystar 写道
有个疑问:你说的例子和异步加载js有啥关系?

这样的问题你提出来 我感觉你在页面上面还有很大的提升空间,js异步加载 用户肯定是感觉不到的。你要通过页面分析 才能看到的 。或者是在网络慢的情况下 ,才可以感觉到异步加载的妙用。像你网速很快的话,异步加载体现不出多大的效果的


... 你举得例子根本就不搭边,硬套概念


   我只能这样跟你说。有人说榴莲很臭 很难吃,有吃觉得是宝贝,那就看个人喜好了。



我不是不喜欢js的异步加载,只是感觉这个例子里后面说的已经跑题了,同样是优化用户体验的东西,但完全不是一个概念。感觉很别扭。你说的in.js 倒是个好东西

    也许你觉得是跑题,但是也许是我没有写清楚,但是我的网站就是这样慢慢改进,速度才这样快的,我的网站是跑在虚拟机上面的,你可以感觉下速度怎么样?用户体验怎么样?我写的都是我的网站改进之路。
12 楼 mazzystar 2012-07-17  
sqj820123 写道
mazzystar 写道
sqj820123 写道
mazzystar 写道
有个疑问:你说的例子和异步加载js有啥关系?

这样的问题你提出来 我感觉你在页面上面还有很大的提升空间,js异步加载 用户肯定是感觉不到的。你要通过页面分析 才能看到的 。或者是在网络慢的情况下 ,才可以感觉到异步加载的妙用。像你网速很快的话,异步加载体现不出多大的效果的


... 你举得例子根本就不搭边,硬套概念


   我只能这样跟你说。有人说榴莲很臭 很难吃,有吃觉得是宝贝,那就看个人喜好了。



我不是不喜欢js的异步加载,只是感觉这个例子里后面说的已经跑题了,同样是优化用户体验的东西,但完全不是一个概念。感觉很别扭。你说的in.js 倒是个好东西
11 楼 sqj820123 2012-07-17  
mazzystar 写道
sqj820123 写道
mazzystar 写道
有个疑问:你说的例子和异步加载js有啥关系?

这样的问题你提出来 我感觉你在页面上面还有很大的提升空间,js异步加载 用户肯定是感觉不到的。你要通过页面分析 才能看到的 。或者是在网络慢的情况下 ,才可以感觉到异步加载的妙用。像你网速很快的话,异步加载体现不出多大的效果的


... 你举得例子根本就不搭边,硬套概念


   我只能这样跟你说。有人说榴莲很臭 很难吃,有吃觉得是宝贝,那就看个人喜好了。
10 楼 mazzystar 2012-07-17  
sqj820123 写道
mazzystar 写道
有个疑问:你说的例子和异步加载js有啥关系?

这样的问题你提出来 我感觉你在页面上面还有很大的提升空间,js异步加载 用户肯定是感觉不到的。你要通过页面分析 才能看到的 。或者是在网络慢的情况下 ,才可以感觉到异步加载的妙用。像你网速很快的话,异步加载体现不出多大的效果的


... 你举得例子根本就不搭边,硬套概念
9 楼 sqj820123 2012-07-16  
gxz1989611 写道
没感觉你说的跟异步加载有啥关系,至少要有个类似lazyInit的方法吧?



你可以抽空看看 in.js 的源码  。里面有详细的说明和调用方法。
8 楼 sqj820123 2012-07-16  
qdch520 写道
我觉得公交路线信息,在页面初始化加载的时候本来就是不应该加载的。楼主举这个例子来说明一部js加载可能有点不合适。因为我用ajax来获取数据照样可以实现你的功能!
 


  有ajax 的确是可以实现这样的功能   本来就是所有的的异步加载技术 都是通过ajax来实现的 只不过是做了封装而已。
7 楼 qdch520 2012-07-16  
我觉得公交路线信息,在页面初始化加载的时候本来就是不应该加载的。楼主举这个例子来说明一部js加载可能有点不合适。因为我用ajax来获取数据照样可以实现你的功能!
6 楼 gxz1989611 2012-07-16  
没感觉你说的跟异步加载有啥关系,至少要有个类似lazyInit的方法吧?
5 楼 sqj820123 2012-07-16  
而且我想说的时 ,做网站要考虑到不同的用户,也就是在不同的网络速度,不同的浏览器都要给用户很好的效果,至少要让用户不能有一种不知所措的感觉,要让用户很清楚的知道。网站在指引着我做什么。我接下来应该怎么样做,才能得到我要的数据信息。
4 楼 sqj820123 2012-07-16  
mazzystar 写道
有个疑问:你说的例子和异步加载js有啥关系?

这样的问题你提出来 我感觉你在页面上面还有很大的提升空间,js异步加载 用户肯定是感觉不到的。你要通过页面分析 才能看到的 。或者是在网络慢的情况下 ,才可以感觉到异步加载的妙用。像你网速很快的话,异步加载体现不出多大的效果的
3 楼 sqj820123 2012-07-16  
jy02405651 写道
bushere.com  楼主的网站 能达到1W的访问量??


可以不可以hold1W的并发量,结果严格压力测试的,放心好了。  至少目前好几千的访问量服务器还很稳定。
2 楼 jy02405651 2012-07-16  
bushere.com  楼主的网站 能达到1W的访问量??
1 楼 mazzystar 2012-07-16  
有个疑问:你说的例子和异步加载js有啥关系?

相关推荐

    资源的异步动态加载问题

    在IT行业中,资源的异步动态加载是一种优化网页性能的关键技术。这主要涉及到JavaScript的异步编程和资源管理,特别是对于大型应用或者高流量网站,有效地加载和管理资源可以显著提高用户体验。以下是对标题和描述中...

    js异步加载代码

    JavaScript 异步加载是优化网页性能的关键技术,它能让页面在不等待脚本执行的情况下继续渲染,从而提高用户体验。在现代网页开发中,由于 JavaScript 文件的体积越来越大,同步加载(即默认方式)会阻塞浏览器解析...

    scriptjs异步JavaScript加载器和依赖管理器

    **script.js:异步JavaScript加载器与依赖管理器详解** 在Web开发中,JavaScript的异步加载和依赖管理是优化页面性能的关键因素。`script.js`是一个轻量级且功能强大的工具,它允许开发者实现异步加载JavaScript...

    异步加载的3d图片效果

    在IT行业中,异步加载是一种优化用户体验的重要技术,特别是在处理大量数据或资源,如图片时。在这个场景中,"异步加载的3d图片效果"指的是一个应用或项目,它结合了3D图像展示和异步加载技术,使得用户可以在浏览3D...

    异步加载图片的示例

    在IT行业中,异步加载图片是一项重要的优化技术,特别是在网页和移动应用开发中。它能够显著提高用户体验,因为用户不再需要等待所有图片完全加载才能查看页面内容。本示例程序展示了如何实现这一功能,适用于“mars...

    zTree异步加载Demo

    这个Demo不仅展示了zTree的基本用法,还涵盖了前后端交互、数据库操作等常见Web开发技术,对于理解和实践Web应用的异步加载具有很好的参考价值。通过学习和分析这个Demo,开发者可以更好地掌握zTree的异步加载机制,...

    react 异步加载例子

    在React开发中,异步加载是一项关键技巧,它有助于优化应用程序性能,减少初始加载时间,尤其是在处理大量数据或复杂组件时。本示例主要展示了如何在React应用中实现异步加载,结合使用`setState`、事件监听(如`...

    异步加载图片显示到控件上

    在编程领域,尤其是在开发用户界面(UI)时,异步加载图片是...通过以上讲解,你应该了解了异步加载图片的基本原理和实践方法。实际应用中,还需要根据具体需求调整和优化。不断实践和学习,才能在编程道路上越走越远。

    jquery easyui tree 树形列表节点异步加载

    综上所述,jQuery EasyUI Tree组件的异步加载通过设置`async`和`loader`属性实现,配合后台接口,能有效地优化大数据量场景下的用户体验。在`easyui_demo`这个压缩包中,你可以找到一个完整的示例,帮助理解并实践这...

    treeview的异步加载

    首先,异步加载,也称为懒加载或按需加载,是一种优化技术,它仅在用户需要时才加载数据,而不是一次性加载所有内容。在TreeView中,这意味着只有当用户展开一个节点时,其子节点的数据才会被请求并显示。这样可以...

    javascript图片随滚动条异步加载

    JavaScript图片随滚动条异步加载是一种优化网页性能的常见技术,尤其在处理大量图片或大容量内容时。这种技术能够显著提升网页加载速度,改善用户体验,因为它只在用户实际需要时才加载图片,而不是一次性加载整个...

    异步&同步加载树节点----zTree(一)

    在IT领域,尤其是在前端开发中,构建用户友好的...理解并掌握异步加载的原理和配置,对于优化zTree的使用至关重要,也是前端开发中的重要技能之一。通过实践和不断探索,开发者可以更好地利用zTree来满足各种项目需求。

    Angular 异步加载Controller

    在Angular开发中,异步加载Controller是一种常见的优化技术,它能显著提高应用的启动速度和性能,特别是对于大型单页应用程序(SPA)。这种方式允许我们按需加载模块和控制器,而不是一次性加载整个应用,从而减少...

    ztree异步加载1

    因此,zTree引入了异步加载(Async Load)技术,使得用户在滚动或点击时动态加载相关数据,显著提升了页面响应速度和用户体验。 二、zTree异步加载原理 zTree的异步加载是基于Ajax技术实现的。当用户展开一个父...

    动态加载外部JS文件

    动态加载外部JS文件是网页开发中的一个重要技术,它允许网页在需要时按需加载JavaScript资源,从而提高页面的加载速度,优化用户体验,并有效地管理复杂的项目结构。以下将详细阐述动态加载的原理、方法以及相关实践...

    jQuery插件TreeView异步加载树

    异步加载树则是在用户需要时才从服务器获取数据,而不是一次性加载所有数据,这极大地优化了用户体验,特别是当数据量非常大时。 jQuery的TreeView插件支持异步加载,这意味着在用户滚动或点击节点时,只加载当前...

    异步滑动效果(2个)

    这种技术的核心在于利用JavaScript(JS)和jQuery库来实现,通过异步加载数据,避免了传统方式下一次性加载大量内容导致的页面卡顿现象。 1. **异步加载**:异步加载是异步滑动效果的基础,它意味着不等待当前操作...

    gallery异步加载图片

    在网页设计和开发中,"gallery异步加载图片"是一个重要的技术实践,它涉及到用户体验优化、性能提升以及资源管理等多个方面。"Gallery Demo"可能是某个JavaScript库或框架的一个实例,用于展示如何在图像画廊中实现...

    jQuery实现的图片异步加载和预加载特效源码.zip

    本资源“jQuery实现的图片异步加载和预加载特效源码.zip”提供了一种利用jQuery实现图片的异步加载和预加载功能的代码示例,这对于优化网页性能和用户体验至关重要。 首先,我们来理解一下异步加载的概念。在传统的...

Global site tag (gtag.js) - Google Analytics