2024年6月13日发(作者:)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.0

(22)申请日 2005.12.22

(71)申请人 腾讯科技(深圳)有限公司

地址 518057 广东省深圳市福田区振兴路赛格科技园2栋东403室

(72)发明人 郑润宗

(74)专利代理机构

代理人

(51)

G06F17/30

权利要求说明书 说明书 幅图

(10)申请公布号 CN 1987851 A

(43)申请公布日 2007.06.27

(54)发明名称

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

(57)摘要

本发明适用于计算机网络通信领

域,提供了一种网页数据的更新显示方

法,所述网页数据包括常变数据和不常变

数据,所述方法包括:设置常变数据的元

数据,以及与所述元数据对应的显示格

式;浏览器根据用户的访问请求获取服务

器端输出的元数据,并按照所述元数据对

应的显示格式解析所述元数据,加载到网

页中显示。本发明可以减少网页中常变数

据在更新显示过程中的网络传输带宽,提

高传输效率,兼容性好。同时,能判断页

面加载过程,提高用户的网页浏览效果。

法律状态

法律状态公告日

法律状态信息

法律状态

权 利 要 求 说 明 书

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所述的网页数据的更新显示方法,其特征在于,所述方法进一步

包括:

当用户登录网页后更新访问请求时,浏览器加载所述访问请求对应的元数据,对网

页进行局部刷新。

说 明 书

技术领域

本发明属于计算机网络通信领域,尤其涉及一种对网页数据进行更新显示的方法。

背景技术

在计算机网络中,不常变数据是指网页中改变频率很小的数据,例如新闻页面中新

闻主体的描述、新闻的发表时间、记者以及相关图片等,这些数据在新闻发布后一

般不会作更改。常变数据是指网页中改变频率比较频繁的、用户希望获得的最新的

实时数据,例如新闻页面中该新闻的浏览次数、用户发表的评论等。随着计算机网

络的普及,用户对互联网的关注逐步加强,原有简单的服务器端的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=mentById(′datajs′);//获取页面中一个id为’datajs’的

script标签的对象,并赋值给datajsObj;

=”?itemid=”+itemid+”&page=”+ipage;//设置

datajsObj加载的js的文件名;

其中,表示要加载的服务器端动态生成的文件,itemid

=”+itemid+”&page=”+ipage;表示要传给服务器端的参数,这段代码里就传

入了一个物品的ID和物品相关信息的页数。

只要在目标JavaScript文件中(上述语句中为文件)定义一个新的变量(数

组/XML),这样就能在JavaScript处理元数据函数中调用处理这个变量了。

(2)在网页页面中显示数据的语句

Var dataMsgObj=mentById(′html_tem_msg′)//获取页面中已预设定

好的id为”html_tem_msg”的html标签对象,并赋值给dataMsgObj;

TML=allContent;//设置dataMsgObj里html代码的内容,即经

元数据和表达模板结合后的信息内容;

在本发明的另一个实施例中,浏览器通过Ajax(异步JavaScript和XML)方式实现网

页中常变数据的更新显示,如图4所示。

与上述实施例不同的是,本实施例使用Ajax获取数据的方式代替了动态加载

JavaScript文件的方式。Ajax对用户浏览器的安全访问域设置的要求更高,在浏览

器默认设置的状态下,由于安全限制的原因,Ajax无法获取不同域名下的数据。

Ajax传输数据时可以选择异步传输的方式,传输数据时效率更高。

在本发明中,Ajax技术获取元数据的部分关键代码示例如下:

建立一个xmlhttp对象的代码

if(pRequest){//针对Mozilla浏览器类型

http_request=new XMLHttpRequest();

if(http_deMimeType){

http_deMimeType(′text/xml′);

}

}

else if(XObject){//针对IE浏览器类型.

try{

http_request=new ActiveXObject(″P″);

}catch(e){

try{

http_request=new

ActiveXObject(″P″);

}catch(e){}//处理异常.

}

}

http_(′Get′,′Message/′,true;//向目标路径文件发出获

取请求.

http_ystatechange=dealMsg;//绑定状态改变后(获取成功)的处理函数

http_(″);//发出请求

Function dealMsg(){

var msgContent=http_seText;//把返回的数据赋值给变量.

}

至此完成使用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对象

(″/?uni=″+_erId);//获取数据的

目的路径

=function(success){//成功获取到数据

var shopName=this[″shopName″];//把获取到的数据赋值给变量

}

以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神

和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之

内。