- 浏览: 122387 次
- 性别:
- 来自: 成都
文章分类
最新评论
-
煎蛋就是幸福:
...
试读《跨终端Web》 -
xiaoshitoushifa:
最好把demo贴上啊!发一份到435065893@qq.com ...
漂亮的系统后台UI 欣赏 -
xiaoshitoushifa:
只有图片 没有demo 啊
漂亮的系统后台UI 欣赏
不论是直接从链接访问服务器获取数据还是使用了AJAX动态请求数据,只要一次性的传输数据量很大,还需要用脚本语言来将数据装入某个控件,都有可能导致显示缓慢,比如树形菜单,不需要太多条数据,200条就足够你等待5秒以上。
而基于实际中用户并不需要一次性看到所有数据,我们可以使用脚本来延缓加载,并且能够保证表象的显示,因为我们需要做的就是及时地显示一部分表面数据。
缓存数据包括二种格式:
一种是用户自定义的外部格式,它不属于缓存延迟加载构件,由用户指定,例如:
function DataObject(id,name,age,gender,edu) ...{ this.id=id; this.name=name; this.age=age; this.gender=gender; this.edu=edu; }
一种是缓存延迟加载器的内部格式,它是缓存延迟加载构件的一部分,代码如下:
function CacheData(params,funces) ...{ this.params=params; this.funces=funces; }
它的目的就是封装用户数据格式:params对应用户自定义数据对象,funces对应的是方法名,解释为缓存一个要执行的方法funces,方法的参数为params.
缓存延迟加载器采用双缓冲区,可以一边操作数据,一边装入数据,特别针对树形数据结构:
var cache = ...{ //加载使用的表数据与大小,用于显示,加载表 list: new Array(), count: 0, //装入使用的表数据与大小,用于缓存,缓存表 _list: new Array(), _count: 0, //加载使用的当前游标 cursor: 0, //延缓加载的时间间隔 interval:100, //一次execute方法后的结束处理函数 endfunc:"endfunc();", //缓存一条数据到内存 add :function(params,funces)...{ this._list[this._count++]=new CacheData(params,funces); }, //清空数据缓存 clear:function()...{ this.list=null; this.count=0; this._list=new Array(); this._count=0; }, //获取当前正在加载的一行数据 params :function()...{ return this.list[this.cursor].params; }, funces :function()...{ return this.list[this.cursor].funces; }, //延迟加载的执行方法 execute: function() ...{ //将缓存数据 从缓存表移动到加载表 this.list=this._list; this.count=this._count; //重置缓存表数据 this._list=new Array(); this._count=0; //遍历调用方法func并将游标定位在其相应参数 for(var i=0;i<this.count;i++) ...{ this.cursor=i; eval(this.funces); } //执行恢复函数 eval(this.endfunc); //如果缓存数据,再次延迟加载 if(this._count>0) setTimeout("cache.execute();",interval); else eval("cache.clear();"); } }
在函数funces中参数调用必须使用:
var id = cache.params.id; var name = cache.params.iname;
发表评论
-
javascript 数据类型判断
2014-10-13 14:44 752javascript 中判断数据类型有两种情况:1.基本数据 ... -
阻止事件追加
2014-10-11 12:04 889有些时候可以使用 e.stopPropagation(); ... -
试读《ECMAScript6入门》
2014-09-20 00:01 1321ECMA 对于前端开发工作的我并不陌生,《Ja ... -
javascript 宽度获取
2014-09-11 11:27 614网页可见区域宽:document.body.clientWi ... -
用jquery开发幻灯片播放功能(完整版)
2014-04-10 12:08 947很久没有写了,今天写一个简单的效果,幻灯片无限滚动和大家一起 ... -
看了一篇 “javascript 绝句欣赏”
2013-07-24 16:37 0看了一篇 “javascript 绝句欣赏”这里面的代码写 ... -
javascript 闭包的理解
2013-05-17 16:06 1171javascript中的作用域、 ... -
javascript forEach的实现
2013-04-10 11:43 641function forEach(ary,fn){ ... -
call理解
2013-04-09 16:40 875call使用情况 1.class.call(obj) ... -
富文本框参考
2013-01-31 17:56 0http://www.cnblogs.com/bluedrea ... -
JavaScript中prototype、__proto__、Function、Object等
2012-11-07 15:46 922javascript 灵活度太大了,比如定义一个类,就可以使用 ... -
javascript call的使用
2012-11-06 01:18 697Javascript中call的使用自己感觉蛮纠结的,根 ... -
javascript 继承的实现
2012-11-06 00:55 8511.类抄写 function parent(){ ... -
利用正则表达式实现去除所有HTML标签代码
2012-09-22 10:00 2615"<[^>]*>"; / ... -
javascript判断页面加载(页面下载)是否完毕
2012-09-11 16:03 1617首先要明确两个概念 1.window.onload:页面加载 ... -
如何发送简单请求
2012-08-30 15:08 841使用XMLHttpRequest 对象发送请求的基本步骤: ... -
javascript 正则 捕获组与非捕获组
2012-08-30 11:26 2664捕获组 语法: ... -
dom
2012-08-23 11:08 784继承在dom中的重要性,以下为a标记继承关系图 ... -
查看浏览器dom支持情况
2012-08-23 10:15 761查看浏览器dom支持情况 http://www.w3. ... -
浏览器之间的差别是处理dom对象的不同
2012-08-22 17:24 758dom是一组用来描述脚本怎样与结构化文档进行交互和访问的 ...
相关推荐
"延时加载+静态资源本地缓存"是两种非常有效的技术手段,它们能够帮助我们实现这一目标。本篇文章将详细探讨这两种策略,以及如何将它们应用于实际项目中。 首先,让我们来看看静态资源本地缓存。静态资源通常包括...
**jQuery DataLazyLoad 数据延迟加载插件** 在Web开发中,数据延迟加载(Data Lazy Load)是一种优化网页性能的技术,它允许我们只在用户需要时才加载数据或内容,而不是一次性加载所有信息。jQuery DataLazyLoad...
对于JavaScript,这意味着可以将非关键脚本放在文档底部,或者使用异步加载(async属性)或延迟加载(defer属性)来避免阻塞页面渲染。对于图片,可以使用Intersection Observer API或第三方库来实现视口内的图片...
在延时加载场景中,模型通常包含用于与服务器通信的配置,如proxy设置,这可以指定如何异步获取数据。BudgetWeaveModel可能定义了一个与预算管理相关的数据模型,可能包含了与财务预算或者项目预算相关的字段和规则...
本文将深入探讨基于JavaScript实现的图片延迟加载方案,特别是第一种常见方法。我们将讨论该技术的基本原理、实现步骤以及一些优化策略。 一、基本原理 1. 基本思想:默认情况下,网页中的图片不会立即加载,只有...
因此,合理地权衡性能优化与用户体验,恰当使用缓存策略,以及预加载技术,是实施延迟加载时需要考虑的关键问题。 总的来说,延迟加载是一种高效的技术,它通过推迟非关键资源的加载,优化了系统性能,改善了用户...
当用户与应用交互时,如果每次操作都需要向服务器请求新数据,不仅会增加服务器负担,还可能导致页面加载延迟,影响用户体验。通过在本地存储数据,我们可以避免不必要的网络通信,加快页面响应速度。 JS提供了多种...
为了减少网络延迟,可以考虑使用浏览器缓存或服务端缓存策略,比如在用户首次加载数据时存储在本地,后续滚动加载时优先从本地读取,只有在缓存不足时才向服务器请求。 综上所述,实现“页面滚动到底部自动加载数据...
通过预先下载并存储用户可能需要的地图瓦片,可以减少网络延迟,使地图加载更快。一般有两种缓存策略:本地存储和服务器端缓存。本地存储通常利用浏览器的Web Storage或IndexedDB进行,当用户访问过的瓦片在本地缓存...
dhtmlxGrid是一款功能强大的JavaScript表格控件,它支持大量数据的展示和处理。在处理大数据时,一次性加载所有数据可能会导致页面响应速度变慢,甚至浏览器崩溃。为了解决这个问题,dhtmlxGrid提供了延迟加载(也...
"大数据量高性能前端表格grid 动态加载数据"这一技术主题,旨在优化用户体验,解决因一次性加载大量数据导致的页面卡顿问题。本文将深入探讨如何实现这种高效的数据加载策略。 首先,"高性能grid"是指一种能够快速...
地图服务通常是大数据量、高交互性的应用,JavaScript客户端用于构建交互式的地图界面,而预缓存技术则有助于减少延迟,提升用户体验。 首先,理解REST地图服务。地图服务通常由地理信息系统(GIS)服务器提供,如...
### JavaScript中的延迟加载属性模式详解 #### 一、引言 在现代Web开发中,JavaScript作为客户端脚本语言被广泛应用于构建动态网页和复杂的应用程序。随着应用规模的增长和技术的发展,开发者面临着各种性能优化的...
5. **CDN(内容分发网络)**:使用CDN服务托管JavaScript库,利用其缓存机制,减少首次加载时间。 6. **删除不必要的脚本**:定期审查和删除不再使用的脚本,避免无效的性能开销。 7. **减少DOM操作**:频繁的DOM...
在大数据时代,面对海量的数据处理和分析,性能与缓存的优化显得至关重要。数据库、页面以及缓存是数据处理流程中的关键环节,它们的优化能够显著提升系统效率,降低延迟,提高用户体验。以下是对这些关键知识点的...
- **数据缓存**:对于已加载过的数据,前端可以进行缓存,避免重复请求,提高用户体验。 - **分页策略**:合理设置每次加载的数据量,过少可能会频繁请求,过多则可能导致页面卡顿。 总的来说,下拉加载数据是一种...
4. 静态资源:网页静态元素(图片、CSS、JavaScript)的缓存,可以加速页面加载。 三、C#缓存实现方式 1. .NET Framework的`System.Web.Caching.Cache`:适用于ASP.NET Web应用程序,提供简单的键值对存储,过期...
异步加载与延迟执行异步加载(async)和延迟执行(defer)是两种可以改善JavaScript加载和执行效率的技术。 1. 异步加载(async):通过在标签中添加async属性,可以让浏览器非阻塞地下载JavaScript文件,即在下载...
5. **优化用户体验**:为了防止连续触发滚动事件,可以设置一个短暂的延迟(如使用`debounce`函数)或者在加载过程中禁用滚动事件。 **性能优化考虑:** 1. **分页大小**:每次加载的数据量不宜过大,以免阻塞页面...