一种动态构造文档中的显示元素的功能的方法技术

技术编号:19177175 阅读:27 留言:0更新日期:2018-10-17 00:20
本发明专利技术提供一种动态构造文档中的显示元素的功能的方法,其特征在于,包括:响应于对文档元素初始化的请求,对所述文档元素进行初始化以使得所述文档元素具有预定功能,所述初始化包括:生成预定功能元素集,所述预定功能元素集定义了所述预定功能,其中所述预定功能元素集中的每个元素具有与所述文档元素相关联的标识符;将所述功能元素集封装进所述文档元素;将所述功能元素集中的第一类型的一个或多个元素与第二类型的一个或多个元素相关联,使得响应于经由所述第一类型的一个或多个元素接收到输入而执行与所述第二类型的一个或多个元素相对应的动作。

A method of dynamically constructing functions of display elements in documents

The invention provides a method for dynamically constructing a function of a display element in a document, characterized in that the document element is initialized so that the document element has a predetermined function in response to a request for initialization of the document element, the initialization includes: generating a predetermined set of functional elements, the predetermined function set A set of defined functional elements defines the predetermined function, wherein each element in the set of predetermined functional elements has an identifier associated with the document element, encapsulates the set of functional elements into the document element, and encapsulates one or more elements of the first type in the set of functional elements with one or more elements of the second type. A plurality of elements are associated such that an action corresponding to one or more elements of the second type is performed in response to receiving an input via one or more elements of the first type.

【技术实现步骤摘要】
一种动态构造文档中的显示元素的功能的方法
本专利技术涉及一种动态构造文档中的显示元素的功能的方法、装置、电子设备和可读存储介质。
技术介绍
在实现本专利技术过程中,专利技术人发现现有技术中至少存在如下问题:目前的文档元素,诸如web文档元素,在页面加载时被赋予预定的功能。但是所赋予的功能都是基于诸如HTML语言的,且每个文档元素所具有的功能都是受限于HTML语言内嵌的功能。用户无法自定义显示样式,无法自由组合执行相应的动作,也无法监听整套动作中的各个环节。例如对于文件上传来讲,目前的文件上传只能使用两种方法:使用HTML的input组件上传文件。该方法只能同步上传,导致页面刷新,在很多情况下无法使用。借助于浏览器插件上传文件。这种方法强依赖特定插件。而特定插件需要用户手动安装到浏览器,并且该方法只适用于特定的浏览器而没有很好的兼容性。这两种上传文件的方法都无法自定义文档元素显示样式、无法自由组合上传动作、无法监听从文件选择—文件显示—文件上传中—上传完成整套动作的各个环节。
技术实现思路
有鉴于此,本专利技术实施例提供一种动态构造文档中的显示元素的功能的方法,能够需要一种能适应大多数环境,具有高度扩展性。。为实现上述目的,根据本专利技术的一个方面,提供了一种动态构造文档中的显示元素的功能的方法。根据本专利技术的一个方面的动态构造文档中的显示元素的功能的方法,包括响应于对文档元素初始化的请求,对所述文档元素进行初始化以使得所述文档元素具有预定功能,所述初始化包括:生成预定功能元素集,所述预定功能元素集定义了所述预定功能,其中所述预定功能元素集中的每个元素具有与所述文档元素相关联的标识符;将所述功能元素集封装进所述文档元素;将所述功能元素集中的第一类型的一个或多个元素与第二类型的一个或多个元素相关联,使得响应于经由所述第一类型的一个或多个元素接收到输入而执行与所述第二类型的一个或多个元素相对应的动作。可选地,所述方法还包括对经初始化的所述文档元素进行兼容性处理,所述兼容性处理包括:修改所述预定功能元素集中的元素子集的样式,以使得所述元素子集对用户不可见;根据所述文档元素在文档上的位置和大小,计算出所述预定功能元素集中的所述第一类型的一个或多个元素的位置和大小;用所述第一类型的一个或多个元素覆盖所述文档元素。可选地,所述初始化还包括向事件模块注册所述第二类型的一个或多个元素,所述第二类型的一个或多个元素用于基于与所述第二类型的一个或多个元素相关联的事件执行用户定义的动作;并且其中,所述第二类型的一个或多个元素中的每个元素与事件回调函数相关联,所述事件回调函数定义了与该元素相关联的事件。可选地,所述方法还包括响应于与所述第二类型的一个或多个元素相关联的事件被触发,调用与所述第二类型的一个或多个元素相关联的事件回调函数,以执行与所述事件相对应的动作。可选地,其中,所述文档元素是HTML元素,所述第一类型的功能元素是label元素,并且所述第二类型的功能元素是input元素。可选地,与所述第二类型的功能元素相关联的事件是上传文件事件。可选地,所述执行与上传文件相对应的动作包括:确定所述文档元素是否特定文档元素;响应于确定所述文档元素是特定文档元素,利用表单的异步提交特性执行上传文件;响应于确定所述文档元素不是特定文档元素:创建框架,所述框架包括所述功能元素集中的每一个功能元素;利用所创建的框架开启特定页面,在所述特定页面中执行上传文件,其中所述特定页面对用户不可见。可选地,其中所述特定文档元素是HTML5文档元素,所述表单是基于jQuery的表单,所述框架是iframe框架。为实现上述目的,根据本专利技术的另一个方面,提供了一种动态构造文档中的显示元素的功能的方法。根据本专利技术的另一个方面的动态构造文档中的显示元素的功能的装置,包括:初始化模块,所述初始化模块用于响应于对文档元素初始化的请求,对所述文档元素进行初始化以使得所述文档元素具有预定功能,所述初始化包括:生成预定功能元素集,所述预定功能元素集定义了所述预定功能,其中所述预定功能元素集中的每个元素具有与所述文档元素相关联的标识符;将所述功能元素集封装进所述文档元素;将所述功能元素集中的第一类型的一个或多个元素与第二类型的一个或多个元素相关联,使得响应于经由所述第一类型的一个或多个元素接收到输入而执行与所述第二类型的一个或多个元素相对应的动作。可选地,所述装置还包括兼容性模块,所述兼容性模块用于对经初始化的所述文档元素进行兼容性处理,所述兼容性处理包括:修改所述预定功能元素集中的元素子集的样式,以使得所述元素子集对用户不可见;根据所述文档元素在文档上的位置和大小,计算出所述预定功能元素集中的所述第一类型的一个或多个元素的位置和大小;用所述第一类型的一个或多个元素覆盖所述文档元素。可选地,所述初始化模块还用于:向事件模块注册所述第二类型的一个或多个元素,所述第二类型的一个或多个元素用于基于与所述第二类型的一个或多个元素相关联的事件执行用户定义的动作;并且其中,所述第二类型的一个或多个元素中的每个元素与事件回调函数相关联,所述事件回调函数定义了与该元素相关联的事件。可选地,所述装置还包括:事件模块,所述事件模块用于响应于与所述第二类型的一个或多个元素相关联的事件被触发,调用与所述第二类型的一个或多个元素相关联的事件回调函数,以执行与所述事件相对应的动作。可选地,其中,所述文档元素是HTML元素,所述第一类型的功能元素是label元素,并且所述第二类型的功能元素是input元素。可选地,与所述第二类型的功能元素相关联的事件是上传文件事件。可选地,所述装置还包括文件异步上传模块,所述文件异步上传模块用于:确定所述文档元素是否特定文档元素;响应于确定所述文档元素是特定文档元素,利用表单的异步提交特性执行上传文件;响应于确定所述文档元素不是特定文档元素:创建框架,所述框架包括所述功能元素集中的每一个功能元素;利用所创建的框架开启特定页面,在所述特定页面中执行上传文件,其中所述特定页面对用户不可见。可选地,其中所述特定文档元素是HTML5文档元素,所述表单是基于jQuery的表单,所述框架是iframe框架。为实现上述目的,根据本专利技术的另一个方面,提供了一种动态构造文档中的显示元素的功能的电子设备。根据本专利技术的另一个方面的电子设备,其特征在于,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行动态构造文档中的显示元素的功能的方法。为实现上述目的,根据本专利技术的另一个方面,提供了一种动态构造文档中的显示元素的功能的电子设备。根据本专利技术的另一个方面的非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行动态构造文档中的显示元素的功能的方法。上述专利技术中的一个实施例具有如下优点或有益效果:因为采用通过诸如label元素来实现触发事件转移的技术手段,克服了仅有有限的文档元素能够用于执行动作的技术问题,进而达到使得文档元素彻底解放并且可自定义格式和样式,适用于各种场景的技术效果。此外,本专利技术通过预先配置、注册事件、本文档来自技高网...

【技术保护点】
1.一种动态构造文档中的显示元素的功能的方法,其特征在于,包括:响应于对文档元素初始化的请求,对所述文档元素进行初始化以使得所述文档元素具有预定功能,所述初始化包括:生成预定功能元素集,所述预定功能元素集定义了所述预定功能,其中所述预定功能元素集中的每个元素具有与所述文档元素相关联的标识符;将所述功能元素集封装进所述文档元素;将所述功能元素集中的第一类型的一个或多个元素与第二类型的一个或多个元素相关联,使得响应于经由所述第一类型的一个或多个元素接收到输入而执行与所述第二类型的一个或多个元素相对应的动作。

【技术特征摘要】
1.一种动态构造文档中的显示元素的功能的方法,其特征在于,包括:响应于对文档元素初始化的请求,对所述文档元素进行初始化以使得所述文档元素具有预定功能,所述初始化包括:生成预定功能元素集,所述预定功能元素集定义了所述预定功能,其中所述预定功能元素集中的每个元素具有与所述文档元素相关联的标识符;将所述功能元素集封装进所述文档元素;将所述功能元素集中的第一类型的一个或多个元素与第二类型的一个或多个元素相关联,使得响应于经由所述第一类型的一个或多个元素接收到输入而执行与所述第二类型的一个或多个元素相对应的动作。2.根据权利要求1所述的动态构造文档中的显示元素的功能的方法,其特征在于,所述方法还包括:对经初始化的所述文档元素进行兼容性处理,所述兼容性处理包括:修改所述预定功能元素集中的元素子集的样式,以使得所述元素子集对用户不可见;根据所述文档元素在文档上的位置和大小,计算出所述预定功能元素集中的所述第一类型的一个或多个元素的位置和大小;用所述第一类型的一个或多个元素覆盖所述文档元素。3.根据权利要求1所述的动态构造文档中的显示元素的功能的方法,其特征在于,所述初始化还包括:向事件模块注册所述第二类型的一个或多个元素,所述第二类型的一个或多个元素用于基于与所述第二类型的一个或多个元素相关联的事件执行用户定义的动作;并且其中,所述第二类型的一个或多个元素中的每个元素与事件回调函数相关联,所述事件回调函数定义了与该元素相关联的事件。4.根据权利要求3所述的动态构造文档中的显示元素的功能的方法,其特征在于,所述方法还包括:响应于与所述第二类型的一个或多个元素相关联的事件被触发,调用与所述第二类型的一个或多个元素相关联的事件回调函数,以执行与所述事件相对应的动作。5.根据权利要求1所述的动态构造文档中的显示元素的功能的方法,其特征在于,其中,所述文档元素是HTML元素,所述第一类型的功能元素是label元素,并且所述第二类型的功能元素是input元素。6.根据权利要求4所述的动态构造文档中的显示元素的功能的方法,其特征在于,与所述第二类型的功能元素相关联的事件是上传文件事件。7.根据权利要求6所述的动态构造文档中的显示元素的功能的方法,其特征在于,所述执行与上传文件相对应的动作包括:确定所述文档元素是否特定文档元素;响应于确定所述文档元素是特定文档元素,利用表单的异步提交特性执行上传文件;响应于确定所述文档元素不是特定文档元素:创建框架,所述框架包括所述功能元素集中的每一个功能元素;利用所创建的框架开启特定页面,在所述特定页面中执行上传文件,其中所述特定页面对用户不可见。8.根据权利要求7所述的构造文档元素功能的方法,其特征在于,其中所述特定文档元素是HTML5文档元素,所述表单是基于jQuery的表单,所述框架是iframe框架。9.一种动态构造文档中的显示元素的功能的装置,其特征在于,所述装置包括:初始化模块,所述初始化模块用于响应于对文档元素初始化的请求,对所述文档元素进行初始化以使得所述文档元素具有预定功能,所述初始化包括:生成预定功能元素集,所述预定功能元素集定义了所述预定功能,其中所述预定功能元素...

【专利技术属性】
技术研发人员:陈春宇
申请(专利权)人:北京京东尚科信息技术有限公司北京京东世纪贸易有限公司
类型:发明
国别省市:北京,11

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

1