利用json隔离网站布局和页面实际模块的内容载入

在项目中,有个这样的需求:动态维护页面的布局,以及动态载入布局容器中的 具体模块。最开始的实现方式是,在服务端一次性获取当前页面的布局结构,当 前页面的所有功能模块,同时通过循环检索某一功能模块属于哪个容器并合理放 置,最后获取具体功能模块的实际内容,一次性输出完成页面的显示。

虽然解决了问题,但这种方式导致了单次请求返回数据的急剧增大,特别是在 页面布局复杂、功能模块繁多时,尤其明显。

经过多方验证,我决定采取将布局构建和内容获取进行隔离、分批次获取内容 的方式,以达到减小单次请求数据量的目的。具体步骤如下:

第一步:采用常规方式,返回页面布局HTML结构,同时也json方式,返回当前 页面的所有功能模块基本信息

布局HTML结构示例

1 <div class="enjoosite_layout_container">
2   <div class="enjoosite_layout_item" columnindex="0"></div>
3   <div class="enjoosite_layout_item" columnindex="1"></div>
4   <div class="enjoosite_layout_item" columnindex="2"></div>
5 </div>

同步加载的功能模块JSON

var __widgets = [
  {"widgetId":64,"title":"静态文 本","widgetName":"statichtml","key":"77","columnIndex":0,"sortIndex":1} ,
  {"widgetId":62,"title":"EnjooSite | 熙杰科技知识 库","widgetName":"statichtml","key":"76","columnIndex":1,"sortIndex":1} ,
  {"widgetId":66,"title":"本页说 明","widgetName":"statichtml","key":"82","columnIndex":1,"sortIndex":2}
];

第二步:在客户端,利用js,将功能模块准确放置如对应的布局容器中

我在布局容器HTML结构中,增加了columnindex属性,在功能模块的JSON配置 中对应了columnIndex属性,因此利用此属性,辅以jQuery的强大选择功能,可以 非常方便的将功能模块放置入对应容器,同时JSON配置中的sortIndex属性可以确 定同一容器中的先后顺序。

第三步:利用jQuery的ajax方法,分批次异步加载具体功能模块的实际内容

我们可以看到,在功能模块的JSON配置中,每一个功能模块都具有: widgetName 和 key 2个属性,widgetName属性可以确定当前功能模块的实际类型 ,如上例中的"statichtml"表示静态HTML文本模块,而key属性,则对应于当前模 块在系统业务逻辑中所对应的唯一关键值,这个关键值需要配合功能模块的具体 类型进行综合应用,以实现从数据库或XML配置文件获取内容的目的。

在异步获取功能模块的实际内容环节,我采取了分批次加载的方式,如果同时 发出内容获取的ajax连接超过10个,那么后续的请求进入等待队列,等待前面的 10个请求。当前10个请求返回一个时,则立即从等待队列中提出一个进行连接。 这样,始终以比较平缓的数据请求量连接服务器,而页面内容也始终以比较缓和 的方式呈现。

这种方式还值得完善的地方就是,最好能够灵活设定,哪个功能模块的加载具 有高优先级就更好了。呵呵呵,慢慢再完善了。

(具体效果请浏览:http://vip.enjoosite.com,因为网站蹭的朋友VPS,所 以速度体验可能不如我文章所说那么明显,仅提供我的实现思路而已,欢迎讨论 )

时间: 2024-09-30 10:41:40

利用json隔离网站布局和页面实际模块的内容载入的相关文章

利用视觉艺术为网站增彩 巧妙设计—让页面活起来

随着互联网的发展,Web页面在我们的生活中已经是无处不在,如何利用视觉艺术为你的Web产品增彩,也成了产品设计者逐步完善的一门课程. 一个完整的Web页面是需要点线面的合理结合,每一个页面都是一个神奇的空间,同时他的深度,广度和作者赋予的元素美感决定了这个页面的可观赏性. 好的创作依附与好的灵感.灵感是一个很微妙的东西,它是指不用平常的感觉器官而能使精神互相交通,亦称远隔知觉.或指无意识中突然兴起的神妙能力.或指作家因情绪或景物所引起的创作情状. 如果你在创作的时候没有灵感,不防停下苦思冥想,一

浅谈电商网站该如何去合理的布局各个页面的关键词

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 近期,笔者在优化一家眼镜行业的小型电商网站,在优化的过程中笔者发现,目前有很多小型电商网站在关键词部署这块出现了严重的问题,当然这在大型电商网站身上是没有发生的.而这种问题对于小型电商网站来说可能是安全隐患,从排名上.收录上.竞争上都可能会造成影响,所以笔者认为想要去除这种安全隐患,就必须对网站的关键词部署进行改善,比如去合理的布局首页.频道

网站生成静态页面攻略

攻略|静态|页面 生成HTML方法主要步骤只有两个: 一.获取要生成的html文件的内容二.将获取的html文件内容保存为html文件 我在这里主要说明的只是第一步:如何获取要生成的html文件的内容: 目前常用获取html文件的内容的方法有几下几种: 1.这种方法与是在脚本内写要生成的html内容,不太方便预览生成页面的内容,无法可视化布局页面,更改html模板时会更加复杂.用这种方法的人很多,但我感觉这种方法是最不方便的. str="<html标记>内容</html标记&g

网站生成静态页面,及网站数据采集的攻、防原理和策略_小偷/采集

发布时间:2005年11月27日 晚 文章作者:翟振凯 (小琦) 交流方式: 个人站:http://www.xiaoqi.net     技术站:http://www.iisvs.net 商业站:http://www.iisvs.com QQ:53353866 22336848 关于本文:         本着互联网共享主义精神,特写此文献给建站新手,授人以鱼,不如授人以渔,本文所讲的只是方法和原理,希 望大家看完此文,能够从中得到些帮助和启发.         本文从一个ASP程序员的角度用大

如何利用SEO培养网站

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 现如今搜索引擎优化是越来越难做,各个搜索引擎基本上都有自己的沙盒效应,新的网站很难快速的从搜索引擎上获得可观的流量.除了沙盒效应,各搜索引擎基本上还存一个对域名的信任度问题,越老越正规的站点,搜索引擎对该域名的信任度就越高,整体的排名可能就越好. 因此对于如何培养一个高权重以及搜索引擎给予信任度高的站,是很多SEO都在思考的问题.通过正确的S

网站布局创新设计:网站可读性和可用性完全结合

文章描述:lost:设想并构建出区别于常见网站布局的创新式设计是一件很难的事情,但是一旦把这件事做好,就可以设计出那些最富有趣味又令人着迷的网站. lost:设想并构建出区别于常见网站布局的创新式设计是一件很难的事情,但是一旦把这件事做好,就可以设计出那些最富有趣味又令人着迷的网站. 你几乎每天都可以见到这些网站,每次看到他们,你都会感慨到:"多希望我当初能够想到这个点子."设计师们正在完成一项了不起的工作,设计出一系列精美的网页元素并将其组合在一起,这些网页不但具备可用性,同时又富有

利用CSS改善网站可访问性

css|访问  利用CSS改善网站可访问性    作者: BUILDER.COM来源: www.BUILDER.COM类型: 翻译     最近,我不得不对我的一个客户的旧网站进行更新,使得它能够达到可访问性的标准.对三四年前的旧代码进行挖掘的想法根本没有吸引力,主要是因为我曾经使用的很多编程惯例已经不再适用,特别是从可访问性上来讲.我曾经使用绝对的字体大小,固定的页面宽度和表格来做版面设计和空间分配.     像那时建构的很多网站一样,我的客户的网站使用了Cascading Style She

1688网站搜索LIST页面用户体验设计

网页制作Webjx文章简介:1688网站搜索LIST页面用户体验设计. 改版背景 创建专业的电子商务垂直搜索,以及把原有的信息聚合平台转型为在线采购批发交易平台.根据行业特点及交易需要,对原有的零批(小额批发)搜索进行改版,改造为适合行业搜索交易频道,便是这次改版的设计目标.我们搜索产品线的产品经理与用户体验设计师们进行了长达半年的准备工作. 项目组成员将对现有的功能需求,信息架构,视觉色彩,用户体验等,做多视角.多纬度的分析.力求在1688.com上线后,推出另一个电子商务垂直搜索用户体验盛宴

熟知蜘蛛两种爬取方式来调整网站布局

近段时间百度对反垃圾页面的执行力度在日趋增强这让很多站点排名都受到大幅波动,当然笔者小站也不例外,但小鱼始终明白一点搜索引擎不断调整算法的本身是为了符合用户体验这也说明一点只要我们站在用户的角度去运营自己的小站那么网站的排名就自然不会差.今天笔者针对站内收录这块给大家分享下熟知蜘蛛爬取的两种方式来改变网站结构的布局. 网站收录对于很多朋友来说一直是一个追问的话题,除了我们通常所说的sitemap制作外还有一点不可小却那就是网站的层次布局,为什么这样说呢?下面笔者就蜘蛛的两种爬取方式来为你一一说道