一种HTML页面控件变化的定位方法和系统技术方案

技术编号:4254977 阅读:749 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种HTML页面控件变化的定位方法及系统,其中HTML页面控件变化的定位方法包括步骤:A、分解页面操作前的控件代码,得到无子控件的多个独立控件,根据各自的原层级关系进行编号后,存储为数据1;B、分解页面操作后的控件代码,得到无子控件的多个独立的控件,根据各自的原层级关系进行编号后,存储为数据2;C、按编号层级从外向内的顺序,比较数据1和数据2中编号相同的控件代码,得到变化控件编号。本发明专利技术可准确判断出页面操作前后所变化的控件的编号,可自动定位发生更改的HTML控件,只定位发生更改的HTML控件,无变化的控件无需更新,有利于减少网络传输数据量,简化页面的无刷新开发与改造过程。

【技术实现步骤摘要】

本专利技术涉及计算机
,尤其涉及一种HTML页面控件变化的定位方法和系统。
技术介绍
AJAX (Asynchronous JavaScript and XML),即异步 JavaScript 脚本语言和可扩 展标记语言XML,是一种创建交互式网页应用的网页开发技术,基于AJAX实现的TOB页面 无刷新技术则是通过AJAX从服务端程序中获得需要更改的HTML控件,然后在页面上通过 JavaScript对该控件进行更新。HTML(HyperText Mark-up Language),即超文本标记语言或超文本链接标示语 言,是目前网络上应用最为广泛的语言,也是构成网页文档的主要语言。实现页面无刷新重 点在于对HTML页面中需要更新的控件进行定位。目前实现的方式有2种一种是通过编码的方式手动指定需要更新的HTML控件; 另一种则是将可能需要进行无刷新更新的控件使用DIV元素进行包裹,然后对包裹的控件 进行更新。其中DIV元素是用来为HTML文档内大块(block-level)的内容提供结构和背 景的元素,DIV的起始标签和结束标签之间的所有内容都是用来构成这个块的,其中所包含 元素的特性由DIV标签的属性来控制,或者是通过使用样式表格式化这个块来进行控制。现有技术中的HTML系统控件页面变化的定位方案存在以下缺点1、带宽占用过多。现有的定位方式仅仅指定了需要更新的HTML控件,并无法预知 这些控件在页面执行的过程中是否发生了变化。因此,每次页面的执行都会对这些指定的 控件进行更新,即使这些控件没有发生任何的变化。这就造成了每一个操作都会需要通过 AJAX方式从服务端取得这些控件的HTML控件代码,没有做到控件有变化则更新,没有变化 则不更新。2、使用复杂。使用DIV进行包裹的方式需要对原有页面进行更改,而且由于DIV 本身就是一个HTML控件,这就可能对HTML页面布局产生影响。另外,一旦页面需要撤销无 刷新方式,又得对页面进行更改,删除这些用以包裹的DIV。
技术实现思路
本专利技术要解决的技术问题在于,针对现有技术的上述缺陷,提供一种HTML页面控 件变化的定位方法和系统,其可以不更改页面,自动定位页面执行过程中发生变化的控件。本专利技术解决其技术问题所采用的技术方案是构造一种HTML页面控件变化的定位方法,其包括以下步骤A、分解页面操作前的控件代码,得到无子控件的多个独立控件,根据各自的原层 级关系进行编号后,存储为数据1 ;B、分解页面操作后的控件代码,得到无子控件的多个独立的控件,根据各自的原 层级关系进行编号后,存储为数据2 ;C、按编号层级从外向内的顺序,比较数据1和数据2中编号相同的控件代码,得到 变化控件编号。本专利技术所述的HTML页面控件变化的定位方法,其中,所述步骤C中,只比较具有相同编号的控件。本专利技术所述的HTML页面控件变化的定位方法,其中,所述步骤C中,从层级的最外 层开始,逐步向内层进行比较。本专利技术所述的HTML页面控件变化的定位方法,其中,所述步骤C中,在比较控件代 码时,如果两段控件代码相同,则进入到下一层级进行比较,如果两段控件代码不同,则记 录这段不同的控件代码所对应的编号,并且不再进入到下一层级的比较。本专利技术所述的HTML页面控件变化的定位方法,其中,在所述操作前的控件代码中 包括三个控件,分别记作a控件、b控件、c控件;其中a控件内包含了 b控件、c控件,而b 控件包含了 c控件;所述步骤A包括以下步骤Al、分解页面操作前的控件代码,得到独立的a控件、b控件、c控件;A2、使用具有层级关系的编号方式分别对a控件、b控件、c控件进行编号,其中a 控件编号仍为a,b控件编号为a_b,c控件编号为a-b-c ;A3、将步骤A2中得到的编号分别为a、a_b、a-b-c的控件中所包含的子控件去掉 后,保存为数据1。本专利技术所述的HTML页面控件变化的定位方法,其中,所述步骤B包括以下步骤Bi、分解操作后的控件代码,得到a控件、b控件、c控件;B2、使用具有层级关系的编号方式分别对a控件、b控件、c控件进行编号,其中a 控件编号仍为a,b控件编号为a_b,c控件编号为a-b-c ;B3、将步骤B2中得到的控件a和a_b中所包含的子控件去掉后,保存为数据2。本专利技术所述的HTML页面控件变化的定位方法,其中,所述步骤C包括以下步骤Cl、比较数据1和数据2中的编号为a的控件,若不相同,则记录a控件的编号,若 相同,则执行步骤C2;C2、比较数据1和数据2中编号为a_b的控件,若不相同,则记录b控件的编号,若 相同,则执行步骤C3;C3、比较数据1和数据2中编号为a-b-c的控件,若不相同,则记录c控件的编号, 若相同,则退出比较。本专利技术还提供了一种HTML页面中控件变化的定位系统,其中,包括控件代码分解 模块、编号及存储模块、比较模块和变化控件列表生成模块;其中,所述控件代码分解模块,用于分解页面操作前的控件代码,得到无子控件的多个 独立控件,以及分解页面操作后的控件代码,得到无子控件的多个独立的控件;所述编号及存储模块,用于对分解前的页面操作前的多个独立控件,根据各自的 原层级关系进行编号后,存储为数据1,以及对分解后的页面操作前的多个独立控件,根据 各自的原层级关系进行编号后,存储为数据2 ;所述比较模块,用于按编号层级从外向内的顺序,比较数据1和数据2中编号相同 的控件代码,得到变化的控件编号;所述变化控件列表生成模块,用于根据得到的变化的控件编号,生成变化控件编号列表。本专利技术通过将页面操作前后的HTML页面控件进行分解、编号及比较,可准确判断出页面操作前后所变化的控件的编号,可自动定位发生更改的HTML控件,只定位发生更改 的HTML控件,无变化的控件无需更新,有利于减少网络传输数据量,简化页面的无刷新开 发与改造过程。附图说明下面将结合附图及实施例对本专利技术作进一步说明,附图中图1是本专利技术实施例的HTML页面控件变化的定位方法流程图;图2是本专利技术实施例的HTML页面控件变化的定位系统原理框图。具体实施例方式下面结合图示,对本专利技术的优选实施例作详细介绍。本专利技术较佳实施例的HTML页面控件变化的定位方法流程图如图1所示,本实施例 中以操作前的控件代码中包括ID分别为a、b、c的a控件、b控件、c控件来进行具体说明, 其中a控件内包含了 b控件、c控件,而b控件包含了 c控件。页面HTML控件代码层次结 构如下<divid=”a”><div id=”b”><divid=”c”></div></div></div>应当理解,上述控件代码在本实施例中仅用于结构上的示意,而与其所表示的具 体含义无关,下面详细描述对以上控件代码变化的定位方法,包括以下步骤步骤S10、分解页面操作前的控件代码,得到无子控件的多个独立控件,根据各自 的原层级关系进行编号后,存储为数据1,共包括以下三步第一步Sll 分解以上HTML控件代码,得到独立的控件,其中a控件代码<divid=”a”><div id=”b”><divid=”c”></div></div></div本文档来自技高网
...

【技术保护点】
一种HTML页面控件变化的定位方法,其特征在于,包括以下步骤:  A、分解页面操作前的控件代码,得到无子控件的多个独立控件,根据各自的原层级关系进行编号后,存储为数据1;  B、分解页面操作后的控件代码,得到无子控件的多个独立的控件,根据各自的原层级关系进行编号后,存储为数据2;  C、按编号层级从外向内的顺序,比较数据1和数据2中编号相同的控件代码,得到变化控件编号。

【技术特征摘要】
一种HTML页面控件变化的定位方法,其特征在于,包括以下步骤A、分解页面操作前的控件代码,得到无子控件的多个独立控件,根据各自的原层级关系进行编号后,存储为数据1;B、分解页面操作后的控件代码,得到无子控件的多个独立的控件,根据各自的原层级关系进行编号后,存储为数据2;C、按编号层级从外向内的顺序,比较数据1和数据2中编号相同的控件代码,得到变化控件编号。2.根据权利要求1所述的HTML页面控件变化的定位方法,其特征在于,所述步骤C中, 只比较具有相同编号的控件。3.根据权利要求1所述的HTML页面控件变化的定位方法,其特征在于,所述步骤C中, 从层级的最外层开始,逐步向内层进行比较。4.根据权利要求1所述的HTML页面控件变化的定位方法,其特征在于,所述步骤C中, 在比较控件代码时,如果两段控件代码相同,则进入到下一层级进行比较,如果两段控件代 码不同,则记录这段不同的控件代码所对应的编号,并且不再进入到下一层级的比较。5.根据权利要求1至4中任一项所述的HTML页面控件变化的定位方法,其特征在于, 在所述操作前的控件代码中包括三个控件,分别记作a控件、b控件、c控件;其中a控件内 包含了 b控件、c控件,而b控件包含了 c控件;所述步骤A包括以下步骤Al、分解页面操作前的控件代码,得到独立的a控件、b控件、c控件;A2、使用具有层级关系的编号方式分别对a控件、b控件、c控件进行编号,其中a控件 编号仍为a,b控件编号为a_b,c控件编号为a-b-c ;A3、将步骤A2中得到的编号分别为a、a-b、a-b-C的控件中所包含的子控件去掉后,保 存为数据1。6.根据权利要求5...

【专利技术属性】
技术研发人员:胡小波
申请(专利权)人:深圳联友科技有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1