首页> 中国专利> 一种网页特效实现方法和浏览器

一种网页特效实现方法和浏览器

摘要

本发明公开了一种网页特效实现方法和浏览器,该方法包括:获取网页标签,并判断所述标签中是否包括特效属性;若判断结果为是,则获取所述标签中设置的特效类型和特效参数;根据所述特效类型和特效参数显示所述特效;在所述特效显示完后,更新所述标签。本发明实施例既节省了特效的中间执行时间,又保留了浏览器对标签元素的正常刷新流程。

著录项

  • 公开/公告号CN101706785A

    专利类型发明专利

  • 公开/公告日2010-05-12

    原文格式PDF

  • 申请/专利权人 深圳市同洲电子股份有限公司;

    申请/专利号CN200910109743.1

  • 发明设计人 刘慧;

    申请日2009-11-19

  • 分类号G06F17/30(20060101);

  • 代理机构44202 广州三环专利代理有限公司;

  • 代理人郝传鑫;潘中毅

  • 地址 518129 广东省深圳市南山区高新科技园北区彩虹科技大厦

  • 入库时间 2023-12-17 23:52:51

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2013-06-05

    授权

    授权

  • 2010-06-30

    实质审查的生效 IPC(主分类):G06F17/30 申请日:20091119

    实质审查的生效

  • 2010-05-12

    公开

    公开

说明书

技术领域

本发明涉及计算机信息领域,尤其涉及一种网页特效实现方法和浏览器。

背景技术

随着web技术的不断发展,基于web的应用也越来越多。在计算机上,各种效果绚丽、视觉冲击力强的web页面被越来越多的用户所喜欢和接受。在嵌入式环境下,也要实现这种效果,就对硬件和支持web应用的浏览器等提出了更高的要求。

目前,在开发web页面时,要实现特效,基本的方法就是将元素的大小(width,height),位置(left,top),透明度(opacity)一步一步地进行变化,连续看起来就好像是动态的变化效果。而在网页中,要实现这种变化,唯一能使用的方法就是将元素标签的left(距离左边界的值),top(距离上边界的值),width(宽度),height(高度),透明度(opacity)每移动一步就进行变化一次。比如,通过JavaScript操作文档对象模型(Document Object Model,DOM)节点的元素,改变其left,top,width,height,opacity的值,来实现特效。

特效每执行一步,都需要修改left,top,width,height,opacity这五个值中的至少一个,重新对元素的属性值进行解析和操作。这种频繁的变化每次都会引起浏览器对于该区域的重新排版,布局和刷新。在嵌入式资源有限的情况下,这样的操作不仅影响速度,而且对于特效的展现也显得不是那么绚丽和连贯。

发明内容

本发明实施例所要解决的技术问题在于,提供一种网页特效实现方法和浏览器,可以快速的实现网页特效。

为了解决上述技术问题,本发明实施例提供了一种网页特效实现方法,包括:获取网页标签,并判断所述标签中是否包括特效属性;若判断结果为是,则获取所述标签中设置的特效类型和特效参数;根据所述特效类型和特效参数显示所述特效;在所述特效显示完后,更新所述标签。

其中,所述更新所述标签包括:获取所述特效属性的特效属性值,根据所述特效属性值更新所述标签的标准属性值;根据所述标准属性值在网页中显示所述标签。

所述根据所述特效类型和特效参数显示所述特效包括:根据所述特效类型和特效参数通知特效实现模块实现所述特效;显示所述特效实现模块实现的所述特效。

相应地,本发明实施例还提供了一种浏览器,包括:属性获取模块,用于获取网页标签,并判断所述标签中是否包括特效属性;参数获取模块,用于当属性获取模块的判断结果为是时,获取所述标签中设置的特效类型和特效参数;显示模块,用于根据所述特效类型和特效参数显示所述特效;更新模块,用于在所述特效显示完后,更新所述标签。

其中,所述更新模块包括:值获取子模块,用于获取所述特效属性的特效属性值,根据所述特效属性值更新所述标签的标准属性值;显示子模块,用于根据所述标准属性值在网页中显示所述标签.

所述显示模块包括:通知子模块,用于根据所述特效类型和特效参数通知特效实现模块实现所述特效;显示子模块,用于显示所述特效实现模块实现的所述特效。

在本发明实施例中,通过标签携带特效的相关信息,在特效实现过程中不需对标签进行更改,只需要在特效实现完成后再更新标签,使得特效可以快速的实现;同时采用单独特效实现模块执行特效,提高了网页中特效的执行效率。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中的网页特效实现方法的一个具体流程示意图;

图2是本发明实施例中的网页特效实现方法的另一个具体流程示意图;

图3是本发明系统实施例中的三层结构的示意图;

图4是本发明系统实施例中的三层之间的交互关系和执行流程;

图5是本发明系统实施例中浏览器的一种组成示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中的技术方案主要是利用了浏览器支持的标签功能,来实现特效的快速实现。对了更好的理解本发明,先介绍一下本发明实施例中的浏览器和网页的一些基本特性:

1.浏览器支持各种标签,支持这些标签所具有的标准属性。如支持div标签的id属性(标签的唯一标识)、支持align属性(标签的位置类型:左对齐、右对齐、居中等)等。

2.当浏览器的用户通过浏览器打开网页或者显示网页时,浏览器会解析网页中这些标签,根据标签的属性值来决定页面的排版和显示。

基于上述的基本特性,本发明实施例的实现原理是:

1)在浏览器支持标签的标准属性外,额外扩展标签的一个私有属性(以下的实施例中称之为特效属性)。如给div标签扩展一个私有属性effect。

2)特效实现模块通过JavaScript扩展实现一套特效。该特效包括移动特效(从A点慢慢移动到B点)、透明度特效(从不透明慢慢变化到半透明)等等。其中,特效实现模块涉及两个部分共同完成特效这个工作。一是JavaScript扩展,来标识和通知浏览器某标签是额外扩展标签;二是浏览器可以依赖的别的模块来具体实现特效。

3)当打开或者显示网页时,浏览器解析网页中的标签时,发现div标签有一个特殊的effect属性,就知道该标签是一个特殊的标签,然后根据该标签设置的特效类型让特效实现模块去执行特效,这时浏览器不对该标签进行管理.当特效执行完毕后,浏览器最后刷新一个该标签的结束位置即可.

这样,浏览器中的标签既实现了特效的执行过程,浏览器又只需对标签进行了一次刷新(最后一次),大大简化了现有技术中的多次刷新过程。

以下基于上述原理详细描述本发明的各个具体实施例。

如图1所示,为本发明实施例中的网页特效实现方法的一个具体流程示意图,该方法包括:

101、获取网页标签,并判断所述标签中是否包括特效属性。该标签可以是行内元素,也可以是块级元素。如可以是块级元素div,其id为ID,该元素可能包含图片、文字或者其他信息。

102、若判断结果为是,则获取所述标签中设置的特效类型和特效参数。根据预定的设置,可以是当步骤101判断为是时,即可默认为标签中设置有合法的特效类型和参数,则此时可直接获取设置的特效类型和参数。

也可以是进一步判断是否有且有合法的特效类型和参数,则此时,本步包括:判断所述标签中是否设置了特效类型和特效参数;若判断结果为是,则解析设置的所述特效类型和特效参数是否合法;若解析结果为是,则获取所述特效类型和特效参数。

103、根据所述特效类型和特效参数显示所述特效。其中,在显示特效时,特效的实际实现可由其他的软件或硬件实现,如通过特效实现模块。则本步具体可包括:根据所述特效类型和特效参数通知特效实现模块实现所述特效;显示所述特效实现模块实现的所述特效。进一步的,可通过其他软件或硬件实现该特效实现模块的特效执行。

104、在所述特效显示完后,更新所述标签。本步具体可以包括:获取所述特效属性的特效属性值,根据所述特效属性值更新所述标签的标准属性值;根据所述标准属性值在网页中显示所述标签。

如图2所示,为对上述实施例的进一步详细说明。在本例中,包括:

201、浏览器打开一个网页或者显示网页。

202、浏览器对网页中的标签进行解析。

203、浏览器解析标签后,检查标签中是否设置了特殊属性(或称特效属性),若没有设置则转208,否则执行下一步。

204、浏览器检查标签中是否设置了特效类型和参数,若没有则转208,否则执行下一步。

205、浏览器解析特效类型和参数。

206、验证特效类型和参数是否合法,若为非法则转208,否则执行下一步。

207、浏览器将特效类型和参数通知给特效实现模块执行特效,特效实现模块执行特效并通过浏览器在网页上显示该特效,特效实现模块在特效执行完毕后,通知浏览器,浏览器根据特殊属性的特殊属性值更新标签的标准属性值。

其中,特效实现模块执行特效时,需先接到需要执行特效的任务,特效类型,特效参数等信息时,然后再开始执行特效了.例如:移动特效,从A(10,10)的位置到B(200,10)的位置,执行10次,每次间隔10毫秒.特效实现模块获得这些信息后开始执行特效:起始点在A(10,10),等10毫秒,然后到了C点(29,10),再等10毫秒,到了D点(48,10)......,共执行了10次,就实现了从A移动到B的移动特效.用户看到了一个图片移动的过程.

208、浏览器根据标签的标准属性显示标签。

同时,在通过浏览器实现上述方案时,可采用如图3所示的三层结构实现。其中,网页特效显示层和浏览器特效控制层在浏览器一方实现,而具体特效实现层则可通过特效实现模块来实现。

其中,网页特效显示层进行正常的网页布局和排版;设置执行特效的标签和该特效属性,如特效类型,特效参数等;显示特效的执行过程。

浏览器特效控制层解析需要执行特效的标签和特效属性;通知具体特效实现层去执行特效;具体特效实现层特效执行完后通知浏览器特效控制层,浏览器特效控制层获知后更新标签属性。

具体特效实现层得到执行特效的命令后开始执行特效;执行完后通知浏览器。

根据上述分工,图4显示了这三层之间的交互关系和执行流程。该流程包括:

401、获取网页,网页中可能包含多个标签。

402、检测网页中的标签是否设置了特效属性。

403、解析设置了特效属性的标签,获得标签中的特效类型和参数。

404、通知开始执行特效。

405、执行特效。

406、网页中显示特效的执行过程。

407、特效执行完毕,通知浏览器。

408、更新标签的属性。

这样,网页特效显示层保证了页面的正常显示和展现特效;浏览器特效控制层保证了解析到标签的特效属性,通知执行特效和更新标签的属性。具体特效实现层保证了特效的正常执行。在本例中,该浏览器控制层既可以支持普通标签的正常显示,也可以支持包含特效属性的标签的特效显示。

相应与上述流程,本发明实施例还提供了一种浏览器,如图5所示,其包括:属性获取模块51,用于获取网页标签,并判断所述标签中是否包括特效属性;参数获取模块52,用于当属性获取模块的判断结果为是时,获取所述标签中设置的特效类型和特效参数;显示模块53,用于根据所述特效类型和特效参数显示所述特效;更新模块54,用于在所述特效显示完后,更新所述标签。

其中,显示模块可包括:通知子模块,用于根据所述特效类型和特效参数通知特效实现模块实现所述特效;显示子模块,用于显示所述特效实现模块实现的所述特效。

更新模块可包括:值获取子模块,用于获取所述特效属性的特效属性值,根据所述特效属性值更新所述标签的标准属性值;显示子模块,用于根据所述标准属性值在网页中显示所述标签。

参数获取模块可包括:判断子模块,用于判断所述标签中是否设置了特效类型和特效参数;解析子模块,用于当判断子模块的判断结果为是时,解析设置的所述特效类型和特效参数是否合法;获取子模块,用于当解析结果为是时,则获取所述特效类型和特效参数。

在上述浏览器的各实施例中,各名词及涉及的方法可参考前述的方法实施例,此处不做赘述.

通过上述对各实施例的描述可知,通过标签携带特效的相关信息,在特效实现过程中不需对标签进行更改,只需要在特效实现完成后再更新标签,节省了浏览器根据DOM操作标签引起的刷新和排版,同时节省了网页中实现标签移动的代码量和逻辑控制,减少了浏览器的解析时间;同时通过其他语言或者硬件的加速功能实现特效实现模块的高效,提高了网页中特效的执行效率。即是说,既节省了特效的中间执行时间,又保留了浏览器对标签元素的正常刷新流程。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。

以上所述的实施方式,并不构成对该技术方案保护范围的限定。任何在上述实施方式的精神和原则之内所作的修改、等同替换和改进等,均应包含在该技术方案的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号