CN102520966B - 一种代码提示方法和装置 - Google Patents
一种代码提示方法和装置 Download PDFInfo
- Publication number
- CN102520966B CN102520966B CN201110447716.2A CN201110447716A CN102520966B CN 102520966 B CN102520966 B CN 102520966B CN 201110447716 A CN201110447716 A CN 201110447716A CN 102520966 B CN102520966 B CN 102520966B
- Authority
- CN
- China
- Prior art keywords
- page
- model
- information
- file
- dom document
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明涉及软件技术领域,特别是涉及一种代码提示方法和装置,所述方法包括:预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码;获取待提示的对象信息;根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,根据所述文档对象模型获取所述选择器对象的实际对象类型;根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述实际对象类型相对应。本发明提供的方法可以针对选择器对象显示有效的提示信息,克服了现有技术无法对选择器对象进行提示的缺陷,进一步提高了开发的效率和准确率。
Description
技术领域
本发明涉及软件技术领域,特别是涉及一种代码提示方法和装置。
背景技术
随着软件技术的发展,基于Web的编程得到了广泛的应用,越来越多的软件和系统采用基于B/S(Browser/Server,浏览器/服务器)的架构。页面开发是基于B/S架构的WEB应用程序开发中的重要环节,而编写JavaScript框架脚本是页面开发的重要环节。JavaScript是一种基于对象和事件驱动并具有相对安全性的客户端脚本语言,也是一种广泛用于客户端Web开发的脚本语言。随着AJAX技术(Synchronous JavaScript and XML,异步JavaScript和XML,一种创建交互式网页应用的网页开发技术)的兴起,众多优秀的JavaScript框架得到了应用,成为了页面开发的重要环节。如何有效地提高脚本代码编写的效率,成为了提高基于B/S架构的WEB应用程序开发的重中之重。
IDE(Integrated Development Environment,集成开发环境)所提供的代码提示功能可以有效的提高编写代码的速度和准确率。现有技术中,主要存在两种方法以提供开发期的JavaScript框架脚本代码提示功能。其中一种方法主要是通过解析JavaScript框架代码以获得代码提示所需要的信息。这种方法是这样实现的:使用IDE在HTML(Hypertext Markup Language,超文本标记语言)文件中编写JavaScript代码,调用代码提示功能后,IDE会通过语法分析获得当前要获得提示信息的对象,然后读取JavaScript框架代码库中对应的源码文件,通过对源码文件的语法解析,得到该对象所具有的属性和方法,最后将这些提示信息展现在IDE的操作界面中,供开发人员使用。这种方法的主要缺陷在于:由于JavaScript是解释型语言,需要通过词法分析和语法分析才能构件出一个JavaScript文件的语法树,然后再根据语法树获得对象所具有的属性和方法,这一过程开销很大且容易出错。再一方面,由于JavaScript是弱类型语言,一个变量具体是什么类型取决于其包含的数据。在开发期时基于语法分析难以获得对象实际的对象类型,因此无法做到级联向下提示,因此给实际开发带来很大的不便。
现有技术还存在一种方法通过构造JavaScript框架代码描述文件以获得代码提示所需要的信息。这种方法通过分析JavaScript框架代码,整理并提取出对象及其方法返回值的实际类型,并将这些信息存在框架代码描述信息文件中。调用代码提示功能时,IDE通过语法分析获得当前所要提示的对象,然后在框架代码描述信息文件中检索该对象所具有的属性和方法,并展示这些提示信息。这种方法有效的解决了解析源代码方法的缺陷与不足,已经成为目前通用的代码提示方法。
在实现本发明的过程中,发明人发现现有技术中至少存在如下问题:目前大多数JavaScript框架均具有选择器,可实现页面元素的快速选择。一般来说,选择器使获取一个元素的引用更加快捷,可以通过页面元素的唯一标识(例如ID)来获取、查找元素。一般的JavaScript框架均是先通过选择器获得HTML页面控件对象,在继续调用该对象的方法。选择器类型的对象或方法的返回值是HTML页面控件对象,各个控件的对象类型是不同的,因此在开发阶段并不能够确定选择器返回值的实际对象类型,因此也无法获得对象的具体信息,无法做到级联代码提示,严重影响了开发效率。
发明内容
为解决上述技术问题,本发明实施例提供了一种代码提示方法和装置,可以实现选择器类型的对象或方法进行代码提示,有效提高开发效率。
一方面,本发明实施例提供了一种代码提示方法,所述方法包括:
预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码;
获取待提示的对象信息;
根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,根据所述文档对象模型获取所述选择器对象的实际对象类型;
根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述实际对象类型相对应。
优选的,所述获取待提示的对象信息是通过语法分析来完成的。
优选的,所述预先构造页面模型文件包括:
创建一个页面模型文件,编辑并存储页面模型信息,所述页面模型信息包括页面元素的标识信息。
优选的,所述根据所述页面模型文件构造文档对象模型包括:
解析所述页面模型文件的节点;
判断所述节点是否为页面控件,如果是,将所述页面控件的属性信息加入到文档对象模型中;
如果否,解析下一个节点,直至所有节点被解析完毕,生成所述文档对象模型。
优选的,所述根据所述文档对象模型获取所述选择器对象的实际对象类型包括:
根据获取的待提示的对象信息,获取待提示的选择器对象的唯一标识;
根据所述唯一标识检索所述文档对象模型,将所述唯一标识与所述文档对象模型中的页面元素的标识信息进行匹配,获取与所述唯一标识对应的页面元素;
根据所述页面元素获取所述页面元素的实际对象类型。
另一方面,本发明实施例还公开了一种代码提示装置,所述装置包括:
页面模型构造模块,用于预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码;
第一获取模块,用于获取待提示的对象信息;
判断模块,用于根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,进入第二获取模块;
第二获取模块,用于根据所述文档对象模型获取所述选择器对象的实际对象类型;
提示模块,用于根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述对象的实际对象类型相对应。
优选的,所述第一获取模块还用于进行语法分析,以获取待提示的对象信息。
优选的,所述页面模型构造模块包括页面模型库、文档对象模型构造模块、编写模块,其中,
所述页面模型库用于创建一个页面模型文件,编辑并存储页面模型信息,所述页面模型信息包括页面元素的标识信息。
优选的,所述文档对象模型构造模块包括:
解析模块,用于解析所述页面模型文件的节点;
判断模块,用于判断所述节点是否为页面控件对象;
添加模块,用于如果判断节点是页面控件对象时,将所述页面控件对象的属性信息加入到文档对象模型中;
生成模块,用于如果否,解析下一个节点,直至所有节点被解析完毕,生成所述文档对象模型。
优选的,所述第二获取模块包括生成模块和获取模块,其中,所述获取模块包括:
第一获取单元,用于根据获取的待提示的对象信息,获取待提示的选择器对象的唯一标识;检索单元,用于根据所述唯一标识检索文档对象模型,将所述唯一标识与所述文档对象模型中的页面元素的标识信息进行匹配,获取与所述唯一标识对应的页面元素;
第二获取单元,用于根据所述页面元素获取所述页面元素的实际对象类型。
本发明实施例能够达到的有益效果为: 本发明实施例提供的方法,通过预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码;当需要触发代码提示时,获取待提示的对象信息,并判断所述待提示的对象是否为选择器对象,如果是选择器对象,则根据文档对象模型获取选择器对象的实际对象类型。由于确定了选择器对象的实际类型,这时通过检索预设的代码描述文件即可获取待提示对象的属性和方法,并在编写脚本代码时显示上述提示信息。本发明提供的方法可以针对选择器对象显示有效的提示信息,克服了现有技术无法对选择器类型的对象或方法进行提示的缺陷,进一步提高了开发的效率和准确率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明提供的代码提示方法第一实施例流程图;
图2为本发明实施例提供的代码提示方法第二实施例流程图;
图3为一种使用XML描述页面模型的示意图;
图4为本发明实施例文档对象模型构造示意图;
图5为本发明实施例页面模型文件转换示意图;
图6为本发明实施例代码提示装置示意图。
具体实施方式
在现有技术中,无法对选择器类型的对象或方法实现代码提示,这主要是因为如果要获取选择器对象的具体信息,必须要确定选择器返回值的实际对象类型。而获取选择器类型的对象或方法返回的实际对象类型,需要加载当前的HTML文件以构建准确的DOM(Document Object Model,文档对象模型)后,才能够根据选择器类型的对象或方法的ID获取其实际的对象类型。而构造DOM模型的工作一般是在浏览器运行期加载HTML页面时完成的。由于HTML并不是结构严谨的,如果要在软件开发阶段通过解析HTML建立DOM是非常困难的,几乎是不可能完成的。
本发明的核心思想是在开发期用结构良好的页面模型文件替代HTML文件,使用IDE在页面模型文件里面编写JavaScript脚本代码。因为模型文件是结构良好的,可以很容易的根据模型中存储的页面信息快速准确的构建出DOM,这样在调用选择器类型的对象或方法时,可以根据选择器对象或方法的ID在DOM中获得对应的对象类型,然后再结合预设的代码描述信息文件获得该对象类型所具备的属性和方法,用于代码提示。需要说明的是,对于不同的JavaScript框架来说,对于完成选择器功能的对象,可能会有不同的定义。例如,对于jquery(一种轻量级的Javascript库,可以兼容各种浏览器)来说,将选择器定义为一个对象;对于dojo(一种使用JavaScript语言实现的源DHTML工具包)来说,将选择器定义为一个方法。在本发明中,将选择器类型的对象和方法统一称为选择器对象。
基于此,本发明实施例提供了一种代码提示方法和装置,可以实现选择器类型的对象或方法进行代码提示,有效提高开发效率和准确率。
为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
参见图1,为本发明提供的代码提示方法第一实施例流程图,所述方法包括:
S101,预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码。
S102,获取待提示的对象信息。
S103,根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,根据所述文档对象模型获取所述选择器对象的实际对象类型。
S104,根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述实际对象类型相对应。
本发明实施例通过预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码,当需要触发代码提示时,获取待提示的对象信息,并判断所述待提示的对象是否为选择器对象,如果是选择器对象,则根据文档对象模型获取选择器对象的实际对象类型。由于确定了选择器对象的实际类型,这时通过检索预设的代码描述文件即可获取待提示对象的属性和方法,并在编写脚本代码时显示上述提示信息。本发明提供的方法可以针对选择器对象显示有效的提示信息,克服了现有技术无法对选择器类型的对象或方法进行提示的缺陷,进一步提高了开发的效率和准确率。
参见图2,为本发明实施例提供的代码提示方法第二实施例流程图。
步骤S201,预先构造页面模型文件。
针对HTML文件结构混乱,不易解析的问题,我们采用结构良好的、标准化的页面模型文件来描述HTML页面。
具体的,创建一个页面模型文件,编辑并存储页面模型信息,所述页面模型信息包括页面元素的标识信息。
下面进行详细说明。所述页面模型文件中记录HTML页面所有信息,具体可以包括如下内容:
(1)HTML页面控件的标识(ID)、属性、事件响应脚本。
(2)HTML页面脚本信息,具体可以包括公共变量,方法等。
(3)HTML页面引用外部资源的信息,比如JavaScript,CSS(CascadingStyle Sheet,级联样式表)等。
(4)其他元数据信息。
在页面模型中存储的信息,至少应当包括页面元素的标识信息、页面元素的属性信息、类型和方法信息。另外,在页面模型中存储丰富的页面信息,既可以方便、准确地构造出DOM树,另一方面,也便于将页面模型转换成HTML文件,以便编写的代码能够在浏览器运行。因此,可以根据具体需要选择需要编辑、存储的页面信息,本发明对此不进行限定。
具体实现时,可以使用多种技术来描述页面模型,例如XML语言,本发明对此不进行限定。下面以XML语言为例进行说明。参见图3,为一种使用XML(Extensible Markup Language,可扩展标记语言)描述页面模型的示例。
如图3所示,页面模型所包含的主要信息存放在如下标签中:
其中,<controls/>用于存放HTML页面控件的属性及事件响应脚本。
<scripts/> 用于存放HTML页面的JavaScript脚本。
<resources/>用于存放页面引用外部资源的信息。
其他元数据信息存放在如下标签中:
<baseinfo/>用于存放模型基本信息,如创建者、创建时间、修改时间等。
步骤S202,根据页面模型文件构造文档对象模型。
在本发明提供的实施例中,在开发期编写的不再是HTML文件而是页面模型文件,在页面模型文件中完整记录了HTML页面中的所有页面元素信息,通过页面模型可以容易的构造出DOM对象,构造流程如图4所示。文档对象模型(Document Object Model,简称DOM),是W3C组织推荐的处理可扩展置标语言的标准编程接口。它是一种与平台和语言无关的应用程序接口,它可以动态地访问程序和脚本,更新其内容、结构和文档的风格。DOM是一种基于树的文档,它是将对应的文档呈现为带有元素、属性和文本的树结构,以方便获取文档的结构。
参见图4,为本发明实施例文档对象模型构造示意图。
S401,解析页面模型文件的当前节点。
在页面模型文件中有一些节点与页面展现无关,包括描述基本信息、脚本信息的节点。我们解析页面模型文件时,主要是要获取与页面展现密切相关的信息,例如页面控件对象。我们在进行页面模型解析时,按照页面模型的层级结构,逐步解析页面模型文件的节点,获取当前节点的类型,判断是否有子节点,进而获取子节点的类型。
S402,判断所述节点是否为页面控件;如果是,进入步骤S403;如果否,将下一个节点作为当前节点,返回步骤S401。
由于页面控件对象是与页面展现密切相关的节点,因此我们判断获取的当前节点是否为页面控件,如果不是,继续解析下一个节点。
S403,将所述页面控件的属性信息加入到文档对象模型中。
前面提到,文档对象模型可以表示文档的结构,它是将对应的文档呈现为带有元素、属性和文本的树结构。生成文档对象模型的过程,是将页面控件对象加入到文档对象模型中,并根据页面控件对象的标识(ID)生成索引,并存储页面控件对象的具体信息的过程。可以根据索引获取页面控件对象,进而获取页面控件对象的信息,所述信息具体可以包括页面控件对象的实际类型、属性、方法等信息。
S404,判断全部节点是否解析完毕,如果是,生成文档对象模型。
步骤S203,在页面模型文件中编写脚本代码。
步骤S204,根据预设的触发条件,判断是否触发代码提示。如果是,进入步骤S205。
可以预先设置触发条件,当满足触发条件时,即触发代码提示。例如,可以设置当用户在编写代码时,在对象后输入“.”即触发代码提示。或者设置具体的快捷键,当用户按下快捷键时,则可以触发代码提示。
步骤S205,获取待提示的对象信息。
具体的,可以通过语法分析获取待提示的对象信息。一般的,是通过语法分析获取待提示的对象类型是否是选择器对象。
步骤S206,根据所述对象信息判断所述待提示的对象是否为选择器对象;如果是,进入步骤S207;如果否,进入步骤S208。
步骤S207,根据所述文档对象模型获取所述选择器对象的实际对象类型。
具体的,步骤S207具体可以通过以下步骤实现:
S207A,根据获取的待提示的对象信息,获取待提示的选择器对象的唯一标识。
前面提到,对于选择器对象来说,其具有一个唯一标识(例如ID),可以通过语法分析获取选择器对象的唯一标识,并根据这个唯一标识检索文档对象模型。
S207B,根据所述唯一标识检索所述文档对象模型,将所述唯一标识与所述文档对象模型中的页面元素的标识信息进行匹配,获取与所述唯一标识对应的页面元素。
由于在页面模型中存储有页面元素的标识信息,构建的文档对象模型中包含一个ID索引,可以根据获取的选择器对象的唯一标识与文档对象模型中的标识(ID)进行匹配,获取与所述唯一标识对应的页面对象或页面元素。
S207C,根据所述页面元素获取所述页面元素的实际对象类型。
前面提到,文档对象模型中保存了页面对象或页面元素的属性、实际类型、方法等信息,通过唯一标识从文档对象模型中检索到与所述唯一标识匹配的页面对象后,则可以获取该页面对象的具体信息,进而获取其实际对象类型。
步骤S208,检索预设的代码描述文件,获取提示信息。
在本发明实施例中,可以预先建立代码描述文件。具体的,通过分析JavaScript框架代码,整理并提取出对象及其方法返回值的实际类型,并将这些信息存在代码描述信息文件中。针对不同的框架结构,可以建立与之对应的代码描述文件。
对于选择器对象来说,获取了实际对象类型后,则根据实际对象类型检索预设的代码描述文件,获取与实际对象类型相对应的提示信息。具体的,所述提示信息包括选择器对象的属性和方法。对于非选择器对象来说,由于在步骤S205中获取了待提示的对象信息,因此可以直接根据待提示的对象信息检索代码描述文件,获取与所述对象对应的属性和方法。
步骤S209,实时显示提示信息。
获取提示信息后,在脚本代码编写界面进行实时显示。
在本发明提供的第二实施例中,当需要触发代码提示时,判断待提示的对象是否是选择器对象,如果是,根据预先构造的文档对象模型获取选择器对象的实际对象类型,并根据所述实际对象类型检索预设的代码描述文件以获取对象的属性和方法;如果不是选择器对象,则根据待提示的对象信息检索预设的代码描述文件以获取对象的属性和方法。最后,将获取的提示信息在代码编写区域进行实时显示,以供开发人员使用。本发明提供的方法可以针对选择器对象、方法进行代码实施提示,有效的提高了开发的效率以及准确率。
需要说明的是,由于编写的JavaScript脚本代码全部保存在页面模型文件中,而页面模型文件是不能在浏览器运行的,为了使开发人员所编写的代码能够运行在浏览器中,还需要将页面模型文件转换成HTML文件。具体转换流程如图5所示。根据生成的内容的类别,将页面模型中控件ID、属性、引用资源输出到HTML页面,页面脚本、控件事件响应脚本输出到JS脚本文件。具体的,是通过解析页面模型文件,根据页面脚本列表、页面控件列表将页面脚本、事件脚本输出到脚本文件。根据资源引用列表、页面控件列表生成HTML页面文件。整个转换的过程对开发人员是完全透明的,不会影响开发人员的开发习惯。
参见图6,为本发明实施例代码提示装置示意图。
所述装置包括:
页面模型构造模块601,用于预先构造页面模型文件,根据所述页面模型文件构造文档对象模型,在所述页面模型文件中编写脚本代码;
第一获取模块602,用于获取待提示的对象信息;
判断模块603,用于根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,进入第二获取模块;
第二获取模块604,用于根据所述文档对象模型获取所述选择器对象的实际对象类型;
提示模块605,用于根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述对象的实际对象类型相对应。
具体的,所述第一获取模块还602用于进行语法分析,以获取待提示的对象信息。
具体的,所述页面模型构造模块包括页面模型库、文档对象模型构造模块、编写模块,其中,
页面模型库用于创建一个页面模型文件,编辑并存储页面模型信息,所述页面模型信息包括页面元素的标识信息。
文档对象模型构造模块包括:
解析模块,用于解析所述页面模型文件的节点;
判断模块,用于判断所述节点是否为页面控件对象;
添加模块,用于如果判断节点是页面控件对象时,将所述页面控件对象的属性信息加入到文档对象模型中;
生成模块,用于如果否,解析下一个节点,直至所有节点被解析完毕,生成所述文档对象模型。
具体的,所述第二获取模块包括生成模块和获取模块,其中,所述获取模块包括:
第一获取单元,用于根据获取的待提示的对象信息,获取待提示的选择器对象的唯一标识。
检索单元,用于根据所述唯一标识检索文档对象模型,将所述唯一标识与所述文档对象模型中的页面元素的标识信息进行匹配,获取与所述唯一标识对应的页面元素。
第二获取单元,用于根据所述页面元素获取所述页面元素的实际对象类型。
所述提示模块还用于当待提示的对象不是选择器对象时,根据待提示的对象信息,检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (10)
1.一种代码提示方法,其特征在于,所述方法包括:
预先构造可扩展标记语言XML页面模型文件,根据所述XML页面模型文件构造文档对象模型,在所述XML页面模型文件中编写脚本代码;
获取待提示的对象信息;
根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,根据所述文档对象模型获取所述选择器对象的实际对象类型;
根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述实际对象类型相对应。
2.根据权利要求1所述的方法,其特征在于,所述获取待提示的对象信息是通过语法分析来完成的。
3.根据权利要求1所述的方法,其特征在于,所述预先构造可扩展标记语言XML页面模型文件包括:
创建一个XML页面模型文件,编辑并存储页面模型信息,所述页面模型信息包括页面元素的标识信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述XML页面模型文件构造文档对象模型包括:
解析所述XML页面模型文件的节点;
判断所述节点是否为页面控件,如果是,将所述页面控件的属性信息加入到文档对象模型中;
如果否,解析下一个节点,直至所有节点被解析完毕,生成所述文档对象模型。
5.根据权利要求3所述的方法,其特征在于,所述根据所述文档对象模型获取所述选择器对象的实际对象类型包括:
根据获取的待提示的对象信息,获取待提示的选择器对象的唯一标识;
根据所述唯一标识检索所述文档对象模型,将所述唯一标识与所述文档对象模型中的页面元素的标识信息进行匹配,获取与所述唯一标识对应的页面元素;
根据所述页面元素获取所述页面元素的实际对象类型。
6.一种代码提示装置,其特征在于,所述装置包括:
页面模型构造模块,用于预先构造可扩展标记语言XML页面模型文件,根据所述XML页面模型文件构造文档对象模型,在所述XML页面模型文件中编写脚本代码;
第一获取模块,用于获取待提示的对象信息;
判断模块,用于根据所述对象信息判断所述待提示的对象是否为选择器对象,如果是,进入第二获取模块;
第二获取模块,用于根据所述文档对象模型获取所述选择器对象的实际对象类型;
提示模块,用于根据所述实际对象类型检索预设的代码描述文件,获取提示信息并在编写脚本代码时实时显示,所述提示信息与所述对象的实际对象类型相对应。
7.根据权利要求6所述的装置,其特征在于,所述第一获取模块还用于进行语法分析,以获取待提示的对象信息。
8.根据权利要求6所述的装置,其特征在于,所述页面模型构造模块包括页面模型库、文档对象模型构造模块、编写模块,其中,
所述页面模型库用于创建一个XML页面模型文件,编辑并存储页面模型信息,所述页面模型信息包括页面元素的标识信息。
9.根据权利要求8所述的装置,其特征在于,所述文档对象模型构造模块包括:
解析模块,用于解析所述XML页面模型文件的节点;
判断模块,用于判断所述节点是否为页面控件对象;
添加模块,用于如果判断节点是页面控件对象时,将所述页面控件对象的属性信息加入到文档对象模型中;
生成模块,用于如果否,解析下一个节点,直至所有节点被解析完毕,生成所述文档对象模型。
10.根据权利要求6所述的装置,其特征在于,所述第二获取模块包括生成模块和获取模块,其中,所述获取模块包括:
第一获取单元,用于根据获取的待提示的对象信息,获取待提示的选择器对象的唯一标识;检索单元,用于根据所述唯一标识检索文档对象模型,将所述唯一标识与所述文档对象模型中的页面元素的标识信息进行匹配,获取与所述唯一标识对应的页面元素;
第二获取单元,用于根据所述页面元素获取所述页面元素的实际对象类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110447716.2A CN102520966B (zh) | 2011-12-28 | 2011-12-28 | 一种代码提示方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110447716.2A CN102520966B (zh) | 2011-12-28 | 2011-12-28 | 一种代码提示方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102520966A CN102520966A (zh) | 2012-06-27 |
CN102520966B true CN102520966B (zh) | 2014-03-19 |
Family
ID=46291908
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110447716.2A Expired - Fee Related CN102520966B (zh) | 2011-12-28 | 2011-12-28 | 一种代码提示方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102520966B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021431A (zh) * | 2016-11-04 | 2018-05-11 | 广东亿迅科技有限公司 | 基于Web数据交互管理Hive的方法及其系统 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106775788B (zh) * | 2015-11-19 | 2019-08-20 | 中国科学院声学研究所 | 一种自动生成和运行JavaScript文件的方法 |
CN105528418B (zh) * | 2015-12-04 | 2019-06-07 | 东软集团股份有限公司 | 一种设计文档生成方法及装置 |
CN107239264B (zh) * | 2016-03-28 | 2020-06-23 | 阿里巴巴集团控股有限公司 | 代码提示信息的生成方法及装置 |
CN106569824B (zh) | 2016-11-07 | 2019-08-13 | 腾讯科技(深圳)有限公司 | 页面数据编译的方法和装置、页面渲染的方法和装置 |
CN106802799B (zh) * | 2016-12-29 | 2020-06-12 | 金蝶软件(中国)有限公司 | 基于wafⅱ框架的js代码自动提示方法和装置 |
CN111580803B (zh) * | 2019-02-15 | 2022-09-06 | 广汽埃安新能源汽车有限公司 | 生成带悬浮提示的流程图的方法及系统、电子设备、介质 |
CN110674033B (zh) * | 2019-09-09 | 2024-01-26 | 平安普惠企业管理有限公司 | 处理代码的方法、装置、设备及存储介质 |
CN113778478A (zh) * | 2020-11-09 | 2021-12-10 | 北京沃东天骏信息技术有限公司 | 一种生成提示信息的方法、装置和存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052986A (zh) * | 2004-08-02 | 2007-10-10 | 佳思腾软件公司 | 将文档的一种表述的改变反映到另一种表述的文档处理和管理方法 |
CN101782910A (zh) * | 2009-01-15 | 2010-07-21 | 盛冠商务咨询(上海)有限公司 | SQLite可视化管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080010609A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method for extending the capabilities of a Wiki environment |
-
2011
- 2011-12-28 CN CN201110447716.2A patent/CN102520966B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101052986A (zh) * | 2004-08-02 | 2007-10-10 | 佳思腾软件公司 | 将文档的一种表述的改变反映到另一种表述的文档处理和管理方法 |
CN101782910A (zh) * | 2009-01-15 | 2010-07-21 | 盛冠商务咨询(上海)有限公司 | SQLite可视化管理方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108021431A (zh) * | 2016-11-04 | 2018-05-11 | 广东亿迅科技有限公司 | 基于Web数据交互管理Hive的方法及其系统 |
Also Published As
Publication number | Publication date |
---|---|
CN102520966A (zh) | 2012-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102520966B (zh) | 一种代码提示方法和装置 | |
US8365203B2 (en) | Method for creating a native application for mobile communications device in real-time | |
Miñón et al. | An approach to the integration of accessibility requirements into a user interface development method | |
CN103383645A (zh) | 代码生成方法及系统 | |
US20170185509A1 (en) | Codeless system and tool for testing applications | |
CN101799753B (zh) | 一种实现树形结构的方法及装置 | |
CN101763423B (zh) | 实现万维网页面树形结构数据展示的方法、系统及装置 | |
CN106371844A (zh) | 一种用原生用户界面组件展示网页的方法及系统 | |
KR20140098822A (ko) | 어플리케이션 로컬화에 있어서의 번역 지원 제공 | |
CN102096588A (zh) | 一种包含控件的页面的建立方法 | |
CN104407863A (zh) | 抽象控件模型编程装置和方法 | |
CN104584062A (zh) | 自动创建Web页面的目录 | |
CN103593414A (zh) | 一种浏览器中网页的展现方法和装置 | |
Fiorelli et al. | Sheet2RDF: a flexible and dynamic spreadsheet import&lifting framework for RDF | |
CN114996619A (zh) | 一种页面显示的方法、装置、计算机设备及存储介质 | |
CN103810292A (zh) | 一种图形界面的配置方法及装置 | |
Linaje et al. | Providing RIA user interfaces with accessibility properties | |
Li et al. | ClinData Express–a metadata driven clinical research data management system for secondary use of clinical data | |
Schwabe et al. | Design and Implementation of Semantic Web Applications. | |
Lukovnikov et al. | Ld viewer-linked data presentation framework | |
CN113901022B (zh) | 一种业务与数据关系模型建立方法、装置、设备及存储介质 | |
CN114596070A (zh) | 一种基于知识图谱的产品优化设计平台构建方法 | |
Hamdani et al. | A Novel Framework to Automatically Generate IFML Models From Plain Text Requirements | |
CN108470047B (zh) | 基于物联网的远程平台监测系统 | |
CN113703638A (zh) | 数据管理页面处理方法、装置、电子设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140319 Termination date: 20191228 |