一种网页数据的更新显示方法

文档序号:6650526阅读:229来源:国知局
专利名称:一种网页数据的更新显示方法
技术领域
本发明属于计算机网络通信领域,尤其涉及一种对网页数据进行更新显示的方法。
背景技术
在计算机网络中,不常变数据是指网页中改变频率很小的数据,例如新闻页面中新闻主体的描述、新闻的发表时间、记者以及相关图片等,这些数据在新闻发布后一般不会作更改。常变数据是指网页中改变频率比较频繁的、用户希望获得的最新的实时数据,例如新闻页面中该新闻的浏览次数、用户发表的评论等。随着计算机网络的普及,用户对互联网的关注逐步加强,原有简单的服务器端的Web数据逻辑处理传输已经很难满足大量用户访问的需要。特别对于一些包含信息量比较大的网页,要满足缓存不常变数据的需求以减轻服务器的数据处理压力,同时满足常变数据实时处理传输的需求以提高用户的访问效果的矛盾十分突出。
IFrame(内嵌网页元素)技术是现有技术中处理网页数据比较常用的一种方案,其原理是在一个数据量较大的页面中,将常变数据分离成一个个单独的子页面,再把这些子页面通过HTML(超文本标记语言)的IFrame标签嵌入到父页面中,用户在浏览器看到的页面其实是一个父页面和IFrame子页面混合而成的一个完整信息页面,如图1所示。在这种方案中,由于常变数据页面的访问传输中是HTML页面和元数据逻辑处理结束后的混合传输,因此存在大量重复的数据传输,浪费网络带宽。同时,这种方案虽然能成功对一个Web页面的常变数据和不常变数据的分离处理表达,但IFrame标签的兼容性差,除了IE系列外,很多流行的浏览器均不支持IFrame标签,而且IFrame标签在IE系列浏览器中的高度控制也存在经常失效的问题。另外,对于用户对IFrame内的页面产生的新的访问请求,如翻页、跳转等,由于IFrame技术灵活性差,会导致IFrame子页面的全部刷新,浏览器在传输网页数据和页面跳转的过程中没有界面提示,降低了用户的网页浏览效果。
另一种方法是浏览器通过一次性加载JavaScript(基于对象的脚本语言)方式处理网页数据,其主要原理是利用JavaScript和动态网页输出混合的方法来处理常变数据,把处理的数据结果结合网页表达模板,然后一次性替换原信息页面中特定的标签,以此将常变数据嵌入到原信息页面中,如图2所示。在这种方案中,由于网页对JavaScript文件是一次性加载的,所以如果用户产生新的操作请求,如翻页、跳转等会导致整个页面的刷新,浪费传输带宽,而且页面跳转过程中没有任何界面提示,用户的网页浏览效果较差。同时,常变数据页面的访问传输中是数据的处理结果结合网页表达模板的混合传输,多次访问会存在大量重复的数据传输,浪费网络带宽。
综上所述,现有技术中浏览器在对网页中的常变数据进行处理时,采用将数据和网页表达模块结合的方式,因而造成了大量重复的数据传输,浪费网络传输带宽。同时,在用户进行网页操作请求时,页面刷新不灵活,减弱了用户的网页浏览效果。

发明内容
本发明的目的在于提供了一种网页数据的更新显示方法,旨在解决现有技术中存在的在对网页中的常变数据进行更新显示时,采用将数据和网页表达模块结合的方式,造成了大量重复的数据传输,浪费网络传输带宽的问题。
本发明是这样实现的一种网页数据的更新显示方法,所述网页数据包括常变数据和不常变数据,所述方法包括设置常变数据的元数据,以及与所述元数据对应的显示格式;
浏览器根据用户的访问请求获取服务器端输出的元数据,并按照所述元数据对应的显示格式解析所述元数据,加载到网页中显示。
所述服务器端通过同步或者异步方式向浏览器输出元数据。
所述元数据为JavaScript元数据或者Flash元数据。
当用户发起访问请求时,浏览器加载服务器端输出的JavaScript元数据,通过JavaScript数据处理函数将所述JavaScript元数据转化为HTML网页语句,将所述HTML网页语句填充入网页中预定义的HTML标签标识中。
所述加载服务器端输出的JavaScript元数据的方式包括动态加载或者通过Ajax方式加载。
浏览器根据用户的请求动态加载Flash元数据,按照Flash格式解析表达所述元数据,以Flash格式在网页中显示。
所述JavaScript元数据为JavaScript数组形式或者XML形式。
所述Flash元数据为Flash变量串形式或者XML形式。
所述方法进一步包括浏览器在网页局部刷新过程中判断元数据的加载状态,当元数据加载未完成时,向用户发出等待的提示信息。
所述方法进一步包括当用户登录网页后更新访问请求时,浏览器加载所述访问请求对应的元数据,对网页进行局部刷新。
本发明可以减少网页中常变数据在更新显示过程中的网络传输带宽,提高传输效率,兼容性好。同时,能判断页面加载过程,提高用户的网页浏览效果。


图1是现有技术中通过IFrame方式对网页中的常变数据进行更新显示的实现示意图;图2是现有技术中通过一次性加载JavaScript方式对网页中的常变数据进行更新显示的实现示意图;图3是本发明提供的通过动态加载JavaScript元数据方式对网页中的常变数据进行更新显示的实现示意图;图4是本发明提供的通过Ajax方式对网页中的常变数据进行更新显示的实现示意图;图5是本发明提供的通过Flash方式对网页中的常变数据进行更新显示的实现示意图。
具体实施例方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明通过将网页中的常变数据中的元数据和显示格式进行分离的方式对常变数据的传输和显示进行处理,可以减少数据传输量,同时增加用户的网页浏览效果。
在本发明中,对于网页中的不常变数据的保存和传输可以在服务器端用多种方法来实现,如定时更新的内存缓存服务,将数据和网页模板结合生成一个静态的网页文件等。对于网页中的常变数据采用元数据和显示格式进行分离的方式进行处理。
在本发明的一个实施例中,浏览器使用动态加载JavaScript元数据的方法实现网页中常变数据的更新显示,如图3所示。
JavaScript元数据是服务器端实时输出的一个文件,符合JavaScript的语法规则,简单的数据可以用JavaScript数组形式来输出,复杂度高的数据可以使用XML(可扩展标记语言)的形式来输出。
处理数据表达的JavaScript数据处理函数是一个包含JavaScript数据数组处理规则和显示规则的函数。假如JavaScript元数据是以数组的形式输出的,以用户留言为例,可以预定数组的第一个元素代表留言用户的姓名,第二个元素代表留言的内容,第三个元素代表留言的时间,第四个元素又开始重复第一个元素代表的意思(即可以使用模3的算法),该规则可以和HTML显示样式模板标签预先写入JavaScript数据处理函数中,这样只要往JavaScript数据处理函数中传入不同的元数据参数,就能把元数据和HTML显示样式合并成一个完整的HTML网页语句,再把这些HTML网页语句填充入网页中预定义的HTML标签ID(标识)中就能成功实现常变数据的处理和表达。
在本发明中,JavaScript数据表达处理函数在用户登录页面时只会被加载一次,以后每次用户对常变数据的不同访问请求,例如翻页、跳转等只会传输获取JavaScript的元数据数组,不会重新从服务器端传输获取JavaScript数据处理表达函数,大大减少了数据传输占用的网络带宽。
同时,每次用户发生请求时都会让浏览器动态加载新的对应的JavaScript元数据,然后把新的元数据传入数据处理表达函数中重新执行一次,这样就能实现信息页面中显示常变数据的局部刷新。由于整个过程都是在一个页面中进行的,可以在页面局部刷新的过程中进行显示状态判断,当传输加载新的JavaScript元数据未完成时,可以在界面中增加显示让用户等待的提示信息等,从而可以加强用户的网页浏览效果。
动态加载JavaScript元数据的部分关键代码示例如下(1)动态加载JavaScript元数据Var datajsObj=document.getElementById(′datajs′);//获取页面中一个id为’datajs’的script标签的对象,并赋值给datajsObj;datajsObj.src=”showmsg.js?itemid=”+itemid+”&page=”+ipage;//设置datajsObj加载的js的文件名;其中,showmsg.js表示要加载的服务器端动态生成的文件,itemid=”+itemid+”&page=”+ipage;表示要传给服务器端的参数,这段代码里就传入了一个物品的ID和物品相关信息的页数。
只要在目标JavaScript文件中(上述语句中为showmsg.js文件)定义一个新的变量(数组/XML),这样就能在JavaScript处理元数据函数中调用处理这个变量了。
(2)在网页页面中显示数据的语句Var dataMsgObj=document.getElementById(′html_tem_msg′)//获取页面中已预设定好的id为”html_tem_msg”的html标签对象,并赋值给dataMsgObj;dataMsgObj.innerHTML=allContent;//设置dataMsgObj里html代码的内容,即经元数据和表达模板结合后的信息内容;在本发明的另一个实施例中,浏览器通过Ajax(异步JavaScript和XML)方式实现网页中常变数据的更新显示,如图4所示。
与上述实施例不同的是,本实施例使用Ajax获取数据的方式代替了动态加载JavaScript文件的方式。Ajax对用户浏览器的安全访问域设置的要求更高,在浏览器默认设置的状态下,由于安全限制的原因,Ajax无法获取不同域名下的数据。Ajax传输数据时可以选择异步传输的方式,传输数据时效率更高。
在本发明中,Ajax技术获取元数据的部分关键代码示例如下建立一个xmlhttp对象的代码if(window.XMLHttpRequest){//针对Mozilla浏览器类型http_request=new XMLHttpRequest();if(http_request.overrideMimeType){http_request.overrideMimeType(′text/xml′);}}else if(window.ActiveXObject){//针对IE浏览器类型.
try{http_request=new ActiveXObject(″Msxml2.XMLHTTP″);}catch(e){
try{http_request=newActiveXObject(″Microsoft.XMLHTTP″);}catch(e){}//处理异常.
}}http_request.open(′Get′,′Message/CheckNew.aspx′,true;//向目标路径文件发出获取请求.
http_request.onreadystatechange=dealMsg;//绑定状态改变后(获取成功)的处理函数http_request.send(″);//发出请求Function dealMsg(){var msgContent=http_request.responseText;//把返回的数据赋值给变量.
}至此完成使用Ajax获取元数据过程。
在本发明的第三个实施例中,浏览器通过Flash技术实现网页中常变数据的更新显示,如图5所示。
本实施例使用了网页内嵌Flash的方式来代替上两个实施例中的JavaScript数据处理表达函数来处理常变数据。内嵌于网页中的Flash可以通过Flash的api(应用接口)对元数据发出获取请求,再把获取到的数据经过逻辑处理,结合表达样式显示出来。
本实施例中元数据的输出和上述两个实施例相同,都是根据用户的HTTP(超文本传输协议)请求由服务器端动态输出,输出的形式可以为Flash支持的变量串或者是XML,Flash获取到该元数据后就能解析这些数据代表的意义。在使用变量串的话,以用户留言为例,可以定义第一个变量为留言用户的名称,第二个变量为留言的内容等。Flash可以把这些元数据结合Flash特有的动态文本对象、MoveClip对象、事件触发API等一一显示在Flash的舞台对象中,显示方式更丰富。同时,Flash的表达不依赖浏览器的版本,只要是安装了Flash插件的浏览器就能支持本方案中的Flash文件,兼容性好。
在本发明中,通过Flash技术获取元数据的部分关键代码示例如下var c=new LoadVars();//新建一个LoadVar对象c.load(″http://www.xxx.com/loadtest.php?uni=″+_global.BaseUserId);//获取数据的目的路径c.onLoad=function(success){//成功获取到数据var shopName=this[″shopName″];//把获取到的数据赋值给变量}以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网页数据的更新显示方法,所述网页数据包括常变数据和不常变数据,其特征在于,所述方法包括设置常变数据的元数据,以及与所述元数据对应的显示格式;浏览器根据用户的访问请求获取服务器端输出的元数据,并按照所述元数据对应的显示格式解析所述元数据,加载到网页中显示。
2.如权利要求1所述的网页数据的更新显示方法,其特征在于,所述服务器端通过同步或者异步方式向浏览器输出元数据。
3.如权利要求1所述的网页数据的更新显示方法,其特征在于,所述元数据为JavaScript元数据或者Flash元数据。
4.如权利要求3所述的网页数据的更新显示方法,其特征在于,当用户发起访问请求时,浏览器加载服务器端输出的JavaScript元数据,通过JavaScript数据处理函数将所述JavaScript元数据转化为HTML网页语句,将所述HTML网页语句填充入网页中预定义的HTML标签标识中。
5.如权利要求4所述的网页数据的更新显示方法,其特征在于,所述加载服务器端输出的JavaScript元数据的方式包括动态加载或者通过Ajax方式加载。
6.如权利要求3所述的网页数据的更新显示方法,其特征在于,浏览器根据用户的请求动态加载Flash元数据,按照Flash格式解析表达所述元数据,以Flash格式在网页中显示。
7.如权利要求3、4或5所述的网页数据的更新显示方法,其特征在于,所述JavaScript元数据为JavaScript数组形式或者XML形式。
8.如权利要求3或6所述的网页数据的更新显示方法,其特征在于,所述Flash元数据为Flash变量串形式或者XML形式。
9.如权利要求1所述的网页数据的更新显示方法,其特征在于,所述方法进一步包括浏览器在网页局部刷新过程中判断元数据的加载状态,当元数据加载未完成时,向用户发出等待的提示信息。
10.如权利要求1所述的网页数据的更新显示方法,其特征在于,所述方法进一步包括当用户登录网页后更新访问请求时,浏览器加载所述访问请求对应的元数据,对网页进行局部刷新。
全文摘要
本发明适用于计算机网络通信领域,提供了一种网页数据的更新显示方法,所述网页数据包括常变数据和不常变数据,所述方法包括设置常变数据的元数据,以及与所述元数据对应的显示格式;浏览器根据用户的访问请求获取服务器端输出的元数据,并按照所述元数据对应的显示格式解析所述元数据,加载到网页中显示。本发明可以减少网页中常变数据在更新显示过程中的网络传输带宽,提高传输效率,兼容性好。同时,能判断页面加载过程,提高用户的网页浏览效果。
文档编号G06F17/30GK1987851SQ200510121238
公开日2007年6月27日 申请日期2005年12月22日 优先权日2005年12月22日
发明者郑润宗 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1