一种高效的Web应用跨浏览器布局兼容性检测系统及方法与流程

文档序号:11155553阅读:238来源:国知局
一种高效的Web应用跨浏览器布局兼容性检测系统及方法与制造工艺
本发明涉及一种高效的Web应用跨浏览器布局兼容性检测系统及方法,属于互联网以及Web
技术领域

背景技术
:随着互联网以及Web技术的快速发展,Web应用正在成为重要的信息获取和交流平台。应用开发者希望应用能在各种主流的浏览器平台上表现一致,但由于浏览器实现技术的差异以及对标准支持程度的不同,导致Web应用在不同的浏览器平台上运行时可能出现行为和页面展现方面的不一致,称为跨浏览器的不兼容问题(XBIs)。通常跨浏览器不兼容性问题(XBI)分为三类:行为不一致、布局不一致和内容不一致。行为不一致:这类不一致通常指页面中元素的功能失效,如点击链接页面无法跳转,点击按钮页面没有反应;布局不一致:指页面中元素在布局方面的错误。例如:两个按钮在Chrome浏览器中横排且上下对齐,但是在IE浏览器中则显示为竖排;内容不一致:进一步分为文本内容不一致和可视内容不一致。文本不一致指的是元素内部的文本不同,可视内容不一致是指元素在可视化方面,如图片内容、元素样式等方面的不同。根据文献(S.RoyChoudhary,M.R.Prasad,andA.Orso.X-pert:Accurateidentificationofcross-browserissuesinwebapplications.InProceedingsofthe2013InternationalConferenceonSoftwareEngineering,pages702–711.IEEEPress,2013)的研究,在以上三类跨浏览器兼容性问题中结构不一致问题最普遍,在所发现的兼容性不一致中占57%。为了检测结构不一致问题,工作(S.R.Choudhary,H.Versee,andA.Orso.Webdiff:Automatedidentificationofcross-browserissuesinwebapplications.InICSM’2010)提出了一种。为了减少检测结果的误报,工作(S.RoyChoudhary,M.R.Prasad,andA.Orso.X-pert:Accurateidentificationofcross-browserissuesinwebapplications.InProceedingsofthe2013InternationalConferenceonSoftwareEngineering,pages702–711.IEEEPress,2013)首先为带检测的两个页面分别构造AlignmentGraph,通过检测页面中匹配节点是否有相同的父子关系和兄弟关系确定是否存在结构不一致的问题。该方法的主要不足在于对于Web应用的每个页面都需要构造一个完整的AlignmentGraph,并在检测结构不一致之前对两个页面中的所有节点进行一次匹配。对于现代流行的Web2.0应用(例如:office365、Gmail、GoogleDocs等),Ajax技术被广泛采用以通过异步通信的方式对页面进行局部更新,以提供页面的响应能力和用户的体验。当对这类Web应用进行结构不一致检测时,已有方法会造成对已经检测过的页面节点进行重复检测,从而降低了检测效率,并且可能导致检测结果的重复报告。例如,考虑图1所示的一个购物网站(使用Chrome浏览器访问),当用户点击“AddToCart”按钮后,在图2中仅部分页面元素发生了变化(如图中的红色框所示)。现有的检测方法需要分别为图1和图2所对应的整个页面构建AlignmentGraph,并对所有节点进行匹配和检测。然而图2页面中的大部分元素在图1对应的页面中已经被检测过且在当前页面中没有发生变化,如果不考虑页面节点信息是否发生变化,而对图1和图2对应的页面分别进行整体检测,则会造成大量节点的重复检测,并且也可能会导致检测结果的重复报告。技术实现要素:本发明的目的是提高Web应用兼容性检测的效率,提出一种高效的Web应用跨浏览器布局兼容性检测系统及方法,基于X-PERT提出的AlignmentGraph(AG图),但只对页面中变化的区域构造子AG图,并且只对页面中变化的节点进行匹配和布局不一致的检测,从而提高了Web应用布局兼容性检测的效率,并且也避免了检测结果的重复报告。本发明技术解决方案如下:一种高效的Web应用跨浏览器布局兼容性检测系统,包括:数据处理模块、节点匹配模块、AG图构造模块和节点比较模块,其中:数据处理模块,负责处理从参考浏览器和待测浏览器收集的页面数据;该模块通过比较相邻两个事件的数据,得到每个事件中变化的节点和变化的区域,所述变化的节点包括:增加的节点、删除的节点、坐标变化的节点、属性变化的节点、父节点改变的节点和在父节点中次序变化的节点;将变化的节点送至节点匹配模块,变化的区域送于AG图构造模块;节点匹配模块,基于数据处理模块分别为参考浏览器和待测浏览器处理得到的每个事件发生后的变化节点信息,匹配参考浏览器和待测浏览器中同一个事件中变化的节点;该模块包括两个步骤:按层完全匹配、全局最相似匹配,所述按层完全匹配指的是待测浏览器中待匹配节点与参考浏览器中同一层的节点进行相似度比较,直到找到完全一样的节点;所述全局最相似匹配指的是参考浏览器和待测浏览器中未在上一步骤中完成匹配的节点相互间找到最相似的节点,作为相匹配的节点;AG图构造模块,负责对每个事件中变化的区域构造AG图,得到每个节点在布局上的父节点和兄弟节点;节点比较模块,基于AG图构造模块为参考浏览器和待测浏览器变化区域构造的AG图,以及节点匹配模块为参考浏览器和待测浏览器变化区域计算的节点匹配信息,比较相匹配节点的父子关系和兄弟关系是否相同,如果有相同的父子和兄弟关系,则没有布局兼容问题,否则,两个节点存在布局兼容性问题。所述数据处理模块的具体实现如下:(1)在Web应用页面生成时,为每个新创建的节点分配id,数据处理模块根据id得到相邻事件中的同一节点,首先通过比较相邻两个事件的数据得到以下六种变化的节点,增加的节点,该节点id不在前一事件仅在后一事件中;删除的节点,该节点id不在后一事件仅在前一事件中;坐标变化的节点,该节点在前后事件中的坐标不同;属性变化的节点,该节点在前后事件中的节点属性不同,节点属性包括class、style;父节点改变的节点,体现在该节点在前后事件中Xpath的前缀发生变化;在父节点中次序变化的节点,体现在该节点在前后事件中Xpath的序号发生变化;(2)得到上述六种变化的节点,然后根据这些事件中变化的节点得到变化的区域;(21)遍历所有事件中变化的节点,并根据节点之间的包含关系得到事件中变化区域的根节点,每个节点在生成的页面中由一个矩形进行表示,该矩形的位置由其在页面中所在左上角坐标和右下角坐标确定,如果节点A代表的矩形包含节点B代表的矩形,则保留A作为根节点,A继续进行比较,B则不再比较;节点之间的包含关系计算如下:设A的坐标表示(xa1,xa2,ya1,ya2),B坐标(xb1,xb2,yb1,yb2),其中(xa1,ya1)为A的左上角坐标,(xa2,ya2)为A的右下角坐标,(xb1,yb1)为B的左上角坐标,(xb2,yb2)为B的右下角坐标,如果xa1<=xb1,且xa2>=xb2,且ya1>=yb1,且ya2<=yb2,则A包含B;(22)步骤(21)得到的根节点属于事件中变化的节点,为了能够在后续检测中比较该根节点的父子关系和兄弟关系,根据坐标找到这些根节点的父节点,规则是该节点满足两个条件,一是该节点的坐标包含根节点,二是该节点是所有满足条件一的节点中面积最小的;(23)步骤(22)得到的父节点作为事件中变化的区域最终的根节点,接着遍历所有节点,得到事件中变化的区域内的节点,该节点包括未变化的节点,规则是某一节点被根节点包含,则该节点属于该事件中变化区域。所述节点匹配模块的具体实现如下:分别将参考浏览器和待测浏览器中变化的节点作为各自的待匹配节点,(1)按层完全匹配,按照DOM树从上至下遍历参考浏览器中变化的节点A,在待测浏览器中选取与A的父节点PA相匹配的节点PB,将节点A与PB在DOM树中的子节点进行比较,如果找到节点B与A完全一样,即相似度为1,则A与B相匹配存入匹配表,并将A与B分别移出待匹配列表;(2)全局最相似匹配,遍历参考浏览器待匹配列表的节点A,在待测浏览器的待匹配列表中选取与A相似度最高的节点B且二者的相似度高于阈值,即A与B相匹配存入匹配表,并将A与B分别移出待匹配列表;(3)参考浏览器和待测浏览器的待匹配列表中剩余的节点,即为不匹配的节点。所述AG图构造模块的具体实现如下:(1)AG图描述页面中元素的两种结构关系:父子关系和兄弟关系。对于两个节点A和B,如果A是包含B的所有节点中面积最小的节点,则A是B的父亲,B是A的孩子,节点A的所有孩子节点之间的关系即为兄弟关系。为构造AG图,首先按照节点面积从小到大的顺序遍历变化区域内的节点,对于每一个遍历的节点A,遍历后续节点,找到第一个包含A的节点即为A的父节点P,根据P和A的坐标计算二者的父子关系,并将A存入P的子节点列表中;(2)再次遍历变化区域内的所有父节点P,得到P的子节点列表CL,将CL内所有节点两两构造成兄弟,并根据坐标计算二者的兄弟关系;(3)经历上述两个步骤,每个节点中有父子关系列表和兄弟关系列表。所述节点比较模块的具体实现如下:(1)遍历参考浏览器变化的节点A,查询从节点匹配模块输出的匹配表,得到相匹配的节点B;(2)查询AG图构造模块分别为节点A和节点B构建的父子关系,并进行比较,如果A和B有相同的父子关系,则不存在布局兼容性问题,否则存在布局兼容性问题;(3)查询AG图构造模块分别为节点A和节点B构建的兄弟关系,并进行比较,A和B有相同的兄弟关系,则不存在布局兼容性问题,否则存在布局兼容性问题。一种高效的Web应用跨浏览器布局兼容性检测,实现步骤如下:(1)页面数据的处理:分别对参考浏览器和待测浏览器的页面数据进行处理,得到每个事件中变化的区域和变化的节点,对于每个事件,首先得到该事件发生前和发生后页面数据,将页面数据中的节点按照id映射成Map表,然后遍历该事件发生前的页面数据节点id,在该事件发生后的页面数据Map表中找到对应的节点,如果找不到则记录当前节点为被删除的节点并从事件发生前的页面数据Map表中删除,找到则按照上述几种类型判断该节点是否有变化并分别从事件发生前后的页面数据Map表中删除该节点;遍历结束后,如果该事件发生后的页面数据Map表中还存在节点,则记录这些节点为增加的节点;接着根据坐标对这些变化的节点进行合并得到变化区域的根节点;然后为这些根节点找到布局上的父节点,作为变化区域最终的根节点;重新遍历当前事件的节点,找到各变化区域内的所有节点,规则是该节点被变化区域的根节点所包含;最终经过页面数据的处理得到了各个事件变化的节点和变化的区域;(2)变化节点的匹配,对参考浏览器和待测浏览器的同一事件中变化的节点进行匹配;将变化的节点作为待匹配节点,并生成待匹配节点列表,首先进行按层完全匹配,将完全匹配上的节点移出待匹配节点列表,接着对剩余待匹配节点进行全局最相似匹配,将匹配上的节点移出待匹配列表;最终得到节点匹配表;(3)变化区域的AG图构造,AG图构造模块通过事件发生后各个变化区域内的节点坐标构造AG图,AG图由各节点的父子关系和兄弟关系构成;(4)变化节点的比较,对参考浏览器和待测浏览器的同一事件中变化的节点进行比较,遍历参考浏览器中变化的节点A,从节点匹配表中得到相匹配的节点B,接着再出对应的AG图中分别得到A和B的父子关系和兄弟关系并进行比较,最终得到A和B的布局不兼容性问题。本发明与现有技术相比的优点在于:为进行页面的布局兼容性检测,已有方法对页面上的所有节点进行全局匹配,并为整个页面构造AG图,忽略了现代Web应用对页面进行局部刷新的特点,从而造成检测速度慢,效率低下。本发明仅对事件发生后变化的页面节点进行匹配,并仅为变化的节点构造AG图,通过检查变化节点是否有相同的父子关系和兄弟关系,可以快速检测页面的布局兼容性问题。附图说明图1为本发明系统组成框图;图2为数据处理模块计算变化节点的实现流程图;图3为数据处理模块合并变化节点的实现流程图;图4为数据处理模块计算变化区域的实现流程图;图5为节点匹配模块按层完全匹配的实现流程图;图6为节点匹配模块全局最相似匹配的实现流程图;图7为AG图构造模块的实现流程图;图8为节点比较模块的实现流程图。具体实施方式下面结合附图对本发明进行详细说明。如图1所示,本发明Web应用的增量式兼容性检测方法包括:数据处理模块、节点匹配模块、AG图构造模块和节点比较模块。数据处理模块,负责处理单个浏览器的页面数据,该模块通过比较相邻两个事件的数据,得到后一事件变化的区域和变化的节点。变化的节点包括:增加的节点、删除的节点、坐标变化的节点、属性变化的节点、父节点改变的节点和在父节点中次序变化的节点。节点匹配模块,负责匹配参考浏览器和待测浏览器中同一个事件变化的节点,该模块包括两个步骤:按层完全匹配、全局最相似匹配。按层完全匹配指的是待匹配节点与另一浏览器中同一层的节点进行相似度比较,直到找到完全一样的节点。全局最相似匹配指的是两个浏览器中未在上一步骤中完成匹配的节点相互间找到最相似的节点,作为相匹配的节点。AG图构造模块,负责对每个事件中变化的区域构造AG图,得到每个节点在布局上的父节点和兄弟节点。节点比较模块,负责比较相匹配节点的父子关系和兄弟关系,得到节点的布局兼容性问题。所述数据处理模块的具体实现如下:在Web应用页面生成时,系统为每个新创建的节点分配id,数据处理模块根据id得到相邻事件中的同一节点。首先该模块通过比较相邻两个事件的数据得到以下六种变化的节点。1)对于增加的节点,该节点id不在前一事件仅在后一事件中。2)对于删除的节点,该节点id不在后一事件仅在前一事件中。3)对于坐标变化的节点,该节点在前后事件中的坐标不同。4)对于属性变化的节点,该节点在前后事件中的节点属性不同,节点属性包括class、style等。5)对于父节点改变的节点,体现在该节点在前后事件中Xpath的前缀发生变化,如/HTML/BODY/DIV/A和/HTML/BODY/SPAN/A。6)对于在父节点中次序变化的节点,体现在该节点在前后事件中Xpath的序号发生变化,如/HTML/BODY/DIV/A[2]和/HTML/BODY/DIV/A[3]。得到上述六种变化的节点,接着该模块根据这些变化的节点得到变化的区域。1)遍历所有变化的节点,并比较节点的坐标得到变化区域的根节点。规则是如果A包含B,则保留A作为根节点,A继续进行比较,B则不再比较。包含关系表示为A坐标(xa1,xa2,ya1,ya2),B坐标(xb1,xb2,yb1,yb2),如果xa1<=xb1&&xa2>=xb2&&ya1<=yb1&&ya2>=yb2,则A包含B。2)上一步骤得到的根节点属于变化的节点,为了能够在后续检测中比较该根节点的父子关系和兄弟关系,该模块根据坐标找到这些根节点的父节点,规则是该节点满足两个条件,一是该节点的坐标包含根节点,二是该节点是所有满足条件一的节点中面积最小的。3)上一步骤得到的父节点作为变化区域最终的根节点,接着遍历所有节点,得到变化区域内的节点(包括未变化的节点),规则是某一节点被根节点包含,则该节点属于该变化区域。所述节点匹配模块的具体实现如下:分别将参考浏览器和待测浏览器中变化的节点作为各自的待匹配节点。1)按层完全匹配,按照DOM树从上至下遍历参考浏览器中变化的节点A,在待测浏览器中选取与A的父节点PA相匹配的节点PB,将A与PB在DOM树中的子节点进行比较,如果找到节点B与A完全一样,即相似度为1,则A与B相匹配存入匹配表,并将A与B分别移出待匹配列表。2)全局最相似匹配,遍历参考浏览器待匹配列表的节点A,在待测浏览器的待匹配列表中选取与A相似度最高的节点B且二者的相似度高于阈值,即A与B相匹配存入匹配表,并将A与B分别移出待匹配列表。3)参考浏览器和待测浏览器的待匹配列表中剩余的节点,即为两个浏览器不匹配的节点。所述AG图构造模块的具体实现如下:该模块通过每个事件变化区域中的所有节点构造AG图,一个变化的区域构造一个AG图。AG图描述页面中元素的两种结构关系:父子(Contain)和兄弟(Sibling)。“node2containnode1”必须满足两个条件,一是node2的坐标包含node1,二是node2是所有满足条件一的节点中面积最小的,父子关系总共有8种,如表1所示。“node1siblingnode2”表示两个元素在同一父节点中,兄弟关系也有8种,如表2所示。1)按照节点面积从小到大的顺序遍历变化区域内的节点A,继续遍历后续节点,为A找到第一个包含A的节点即为A的父节点P,根据P和A的坐标计算二者的父子关系,并将A存入P的子节点列表中。2)遍历变化区域内的节点P,得到P的子节点列表CL,将CL内所有节点两两构造成兄弟,并根据坐标计算二者的兄弟关系。经历上述两个步骤,每个节点中有父子关系Contain和兄弟关系列表Siblings。表18种父子关系XFILL子元素的x坐标与父元素相近。X-CENTER子元素在父元素的x坐标上居中。LEFT-JUSTIFICATION子元素在父元素的x坐标上偏左。RIGHT-JUSTIFICATION子元素在父元素的x坐标上偏右。YFILL子元素的y坐标与父元素相近。Y-CENTER子元素在父元素的y坐标上居中。TOP-ALIGNMENT子元素在父元素的y坐标上偏上。BOTTOM-ALIGNMENT子元素在父元素的y坐标上偏下。表28种兄弟关系LEFT-EDGE元素1和元素2的x1坐标相近。RIGHT-EDGE元素1和元素2的x2坐标相近。LEGT-RIGHT元素1的x2小于元素2的x1。RIGHT-LEFT元素1的x1大于元素2的x2。TOP-EDGE元素1和元素2的y1坐标相近。BOTTOM-EDGE元素1和元素2的y2坐标相近。TOP-BOTTOM元素1的y2小于元素2的y1。BOTTOM-TOP元素1的y1大于元素2的y2。所述节点比较模块的具体实现如下:(4)遍历参考浏览器变化的节点A,从匹配表中得到相匹配的节点B。(5)比较A和B的父子关系,。(6)比较A和B的兄弟关系。一种高效的Web应用跨浏览器布局兼容性检测方法,实现步骤如图1所示:1)页面数据的处理:数据处理模块分别对参考浏览器和待测浏览器的页面数据进行处理,得到每个事件中变化的区域和变化的节点。页面数据是由一系列事件数据构成如:[event,event,......],事件数据中包含当前页面的所有节点。首先数据处理模块选取相邻两个事件数据,将各事件数据中的节点按照id映射成Map表。然后遍历前一事件中的节点id,在后一事件Map表中找到对应的节点,如果找不到则记录当前节点为被删除的节点并从前一事件中删除,找到则按照上述几种类型判断该节点是否有变化并分别从前后事件中删除该节点。遍历结束后,如果后一事件中还存在节点,则记录这些节点为增加的节点。接着根据坐标对这些变化的节点进行合并得到变化区域的根节点。然后为这些根节点找到布局上的父节点,作为变化区域最终的根节点。重新遍历当前事件的节点,找到各变化区域内的所有节点,规则是该节点被变化区域的根节点包含。最终经过该模块的处理得到了各个事件变化的节点和变化的区域。2)变化节点的匹配,节点匹配模块对参考浏览器和待测浏览器的同一事件中变化的节点进行匹配。将变化的节点作为待匹配节点,首先进行按层完全匹配,将完全匹配上的节点移出待匹配列表。接着对剩余待匹配节点进行全局最相似匹配,将匹配上的节点移出待匹配列表。最终得到节点匹配表。3)变化区域的AG图构造,AG图构造模块根据坐标通过各事件中各个变化区域内的节点构造AG图,AG图由各节点的父子关系和兄弟关系构成。4)变化节点的比较,节点比较模块对参考浏览器和待测浏览器的同一事件中变化的节点进行比较。遍历参考浏览器中变化的节点A,从节点匹配表中得到相匹配的节点B,接着再出对应的AG图中分别得到A和B的父子关系和兄弟关系并进行比较,最终得到A和B的布局不兼容性问题。下面结合实施例对本发明的各模块进行详细说明。如图2、图3、图4所示,本发明数据处理模块具体实现如下:数据处理模块主要负责处理单个浏览器的页面数据,该模块通过比较相邻两个事件的数据,得到后一事件变化的区域和变化的节点:1)如图2所示,根据为节点分配的id比较相邻两个事件e和pe中的节点得到e事件中变化的节点。pe中不存在的节点是e中增加的节点;同一id的两个节点在pe中是pn,在e中是n。如果pn和n属性不一致,则n为e中属性变化的节点;如果pn和n坐标不一致,则n为坐标变化的节点;如果pn和n的xpath前缀不一致,如/HTML/BODY/DIV/A和/HTML/BODY/SPAN/A,则n为父节点变化的节点;如果pn和n的xpath序号不一样,/HTML/BODY/DIV/A[2]和/HTML/BODY/DIV/A[3],则n是次序变化的节点;pe中比e多的节点即为e中被删除的节点。2)如图3所示,合并所有的变化节点得到几个局部变化区域的根节点。遍历所有变化的节点n,将n与根节点列表RL中的节点r作比较。如果r包含n则可跳过n,如果n包含r则删除r,最后将n加入根节点列表RL。包含关系表示为A坐标(xa1,xa2,ya1,ya2),B坐标(xb1,xb2,yb1,yb2),如果xa1<=xb1&&xa2>=xb2&&ya1<=yb1&&ya2>=yb2,则A包含B。3)如图4所示,首先得到局部变化区域根节点的父节点,图3得到的根节点属于变化的节点,为了能够在后续检测中比较该根节点的父子关系和兄弟关系,该模块根据坐标找到这些根节点的父节点,规则是该节点满足两个条件,一是该节点的坐标包含根节点,二是该节点是所有满足条件一的节点中面积最小的。接着将坐标重合的区域进行合并,得到最终局部变化的区域;最后遍历事件的所有节点,得到各个变化区域内的所有节点,规则是某一节点被该区域包含,则该节点属于该变化区域。如图5、图6所示,本发明节点匹配模块具体实现如下:节点匹配模块主要负责匹配参考浏览器和待测浏览器中同一个事件变化的节点,该模块包括两个步骤:按层完全匹配和全局最相似匹配。1)按成完全匹配如图5所示,按照DOM树从上至下遍历参考浏览器中变化的节点n1,从匹配表中选取与n1的父节点p1相匹配的节点p2,将n1与p2在DOM树中的所有子节点进行比较,如果找到节点n2与n1完全一样,即相似度为1,则n1与n2相匹配存入匹配表,并将n1与n2分别移出待匹配列表。2)全局最相似匹配如图6所示,遍历参考浏览器中未匹配的节点n1,与待测浏览器未匹配的所有节点n2计算相似度,相似度最高的节点为最相似节点bm,将bm和n1加入匹配表,并将n1与n2移出待匹配列表。如图7所示,本发明AG图构造模块具体实现如下:AG图构造模块主要负责对每个事件中变化的区域构造AG图,得到每个节点在坐标上的父节点和兄弟节点。1)按照节点面积从小到大的顺序遍历变化区域内的所有节点NL,选取头部节点n1,继续遍历后续节点,为n1找到第一个包含n1的节点n2作为n1的父节点p,根据p和n1的坐标计算二者的父子关系,在n1中存入该父子关系并将n1存入p的子节点列表。2)遍历所有的父节点p,得到p的子节点列表CL,将CL内所有节点两两构造成兄弟,计算二者的兄弟关系并分别存入两个节点。如图8所示,本发明节点比较模块具体实现如下:1)遍历参考浏览器变化节点得到an1,从匹配表中取得与之相匹配的节点an2。2)判断an1和an2的父节点是否匹配,如果不匹配则报告an1和an2父节点不一致,然后该节点的比较结束,否则继续比较3)判断an1和an2的父子关系是否一致,如果不一致则报告二者的父子关系不一致。4)遍历an1的兄弟关系得到s1,对应的兄弟节点为sn1。从匹配表中得到与sn1相匹配的节点sn2。判断an2的兄弟节点中是否有sn2,如果没有则报告an1和an2的兄弟节点不一致,接着重新取出新的兄弟关系,如果有则继续进行比较。5)根据sn2得到an2中的兄弟关系s2,比较s1和s2是否一致,如果不一致则报告an1和an2的兄弟关系不一致。返回第四步比较其他的兄弟关系。提供以上实施例仅仅是为了描述本发明的目的,而并非要限制本发明的范围。本发明的范围由所附权利要求限定。不脱离本发明的精神和原理而做出的各种等同替换和修改,均应涵盖在本发明的范围之内。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1