首页> 中国专利> 一种使用第三方的JavaScript库的方法和装置

一种使用第三方的JavaScript库的方法和装置

摘要

本发明公开了一种使用第三方的JavaScript库的方法,通过对待拦截的方法即需要修改才能实现需要的方法增加处理逻辑,来达到需要的逻辑实现。基于同样地发明构思,本发明还提出一种使用第三方的JavaScript库的装置,能够在不修改第三方的JavaScript库的源代码的基础上使用第三方的JavaScript库,降低维护和开发的复杂性。

著录项

  • 公开/公告号CN102508667A

    专利类型发明专利

  • 公开/公告日2012-06-20

    原文格式PDF

  • 申请/专利权人 迈普通信技术股份有限公司;

    申请/专利号CN201110357777.X

  • 发明设计人 邓鹏;

    申请日2011-11-11

  • 分类号G06F9/44;

  • 代理机构北京德琦知识产权代理有限公司;

  • 代理人谢安昆

  • 地址 610041 四川省成都市高新区九兴大道16号迈普大厦

  • 入库时间 2023-12-18 05:34:25

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2014-06-18

    授权

    授权

  • 2012-07-18

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20111111

    实质审查的生效

  • 2012-06-20

    公开

    公开

说明书

技术领域

本发明涉及计算机领域,特别涉及一种使用第三方的JavaScript库的方 法和装置。

背景技术

随着信息技术的发展,计算机应用越来越广泛,各种应用系统相继而生, BS的WEB应用项目也越来越多,并且在用户交互的界面开发上变得越来越 广泛和重要。

BS结构的WEB应用在界面上主要通过JavaScript来控制HTML标签, 在JavaScript的使用方面也从原来简单的使用到复杂的使用,主要体现在界 面的美观控制、界面的交付过程,特别是在JavaScript的AJAX技术发展下, JavaScript技术更是必不可少的。

目前BS项目中,基本上没有不使用JavaScript技术来开发,相关的 JavaScript的三方库也越来越多,在网上搜寻可以发现:ExtJS、GoogleMap 等都采用了丰富的JavaScript。

在具体的应用项目开发过程中,作为BS的WEB应用,那就需要采用大 量的JavaScript来开发项目,也会使用大量的JavaScript三方库。但是,针对 三方的JavaScript库,提供的功能比较固定,在某些方面不是很适合具体的 应用项目,总是在现有的三方库功能上缺少部分我们需要的功能。

针对上面的情况,一般的处理方式是修改三方库来完成,这样带来了三 方库的维护和开发的复杂性,并且需要三方库的源代码。

发明内容

有鉴于此,本发明提供一种使用第三方的JavaScript库的方法和装置。 能够在不修改第三方的JavaScript库的源代码的基础上使用第三方的 JavaScript库,降低维护和开发的复杂性。

为解决上述技术问题,本发明的技术方案是这样实现的:

一种使用第三方的JavaScript库的方法,所述方法包括:

生成缓存对象,遍历任一源类中的属性和方法,并将所述源类中的属性 和方法缓存到所述缓存对象中;

生成与源类相同的目标类,并将所述缓存对象中待拦截的方法重新实现 逻辑并缓存到所述目标类中;

将所述缓存对象中其他的方法和属性缓存到所述目标类中。

一种使用第三方的JavaScript库的装置,所述装置包括:生成单元、获 取单元、逻辑单元和复制单元;

所述生成单元,用于生成缓存对象;生成与源类相同的目标类;

所述获取单元,用于遍历任一源类中的属性和方法,并将所述源类中的 属性和方法缓存到所述生成单元生成的缓存对象中;

所述逻辑单元,用于将所述缓存对象中待拦截的方法重新实现逻辑并缓 存到所述生成单元生成的目标类中;

所述复制单元,用于将所述缓存对象中其他的方法和属性缓存到所述生 成单元生成的目标类中。

综上所述,本发明通过对待拦截的方法即需要修改才能实现需要的方法 增加处理逻辑,来达到需要的逻辑实现。能够在不修改第三方的JavaScript 库的源代码的基础上使用第三方的JavaScript库,降低维护和开发的复杂性。

附图说明

图1为本发明实施例中使用第三方的JavaScript库的方法流程示意图;

图2为本发明具体实施例中使用第三方的JavaScript库的装置的结构示 意图。

具体实施方式

为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举 实施例,对本发明所述方案作进一步地详细说明。

本发明在使用第三方的JavaScript库时,通过对待拦截的方法增加逻辑 来使用第三方的JavaScript库。

参见图1,图1为本发明实施例中使用第三方的JavaScript库的方法流程 示意图。具体步骤为:

步骤101,生成缓存对象,遍历任一源类中的属性和方法,并将源类中 的属性和方法缓存到缓存对象中。

第三方的JavaScript库中至少存在一个类,本发明对任一类的处理过程 均一致。本步骤中生成一个缓存对象,用于缓存任一类中所有方法和属性。

步骤102,生成与源类相同的目标类,并将缓存对象中待拦截的方法重 新实现逻辑并缓存到目标类中。

本步骤中将不能直接用的方法进行拦截,这里待拦截方法即不能直接使 用但是需要修改之后可使用的方法。这里的重新实现逻辑并不是修改源代码, 而是在原先逻辑上增加新的逻辑来重新实现原方法的逻辑。

步骤103,将缓存对象中其他的方法和属性缓存到目标类中。

本步骤中对一些可以直接用的方法,即不进行拦截的方法,在创建目标 类的时候可能丢失,因此需要将其他的即其他的方法和属性缓存到目标类中。

步骤102中,将目标类中待拦截的方法重新实现逻辑的方法为:

调用缓存对象中的待拦截的方法,为待拦截的方法增加处理逻辑,并缓 存到所述目标类中。

其中,为待拦截的方法增加处理逻辑的方法为:

调用并执行缓存对象中待拦截方法,缓存执行的结果;

在待拦截方法前、后,或,前和后增加拦截逻辑并执行,缓存执行的结 果。

在增加的逻辑中可以修改原有方法的参数和返回值,也能够修改原有方 法所在对象的成员变量。

调用缓存对象中待拦截方法通过call或apply方式调用。

步骤103中,将缓存对象中其他的方法和属性缓存到目标类中的方法为:

若目标类中其他的方法和属性丢失,则将缓存对象中其他的方法缓存到 目标类中;若目标类中其他的方法和属性存在未丢失的,则将缓存对象中其 他的方法覆盖目标类中其他的方法。

基于上述同样的发明构思,本发明还提出一种使用第三方的JavaScript 库的装置。该装置用于能够执行JavaScript的计算机上。参见图2,图2为本 发明具体实施例中使用第三方的JavaScript库的装置的结构示意图。该装置 包括:生成单元201、获取单元202、逻辑单元203和复制单元204。

生成单元201,用于生成缓存对象;生成与源类相同的目标类。

获取单元202,用于遍历任一源类中的属性和方法,并将源类中的属性 和方法缓存到生成单元201生成的缓存对象中。

逻辑单元203,用于将缓存对象中待拦截的方法重新实现逻辑并缓存到 生成单元201生成的目标类中。

复制单元204,用于将缓存对象中其他的方法和属性缓存到生成单元204 生成的目标类中。

较佳地,

逻辑单元203,用于调用缓存对象中的待拦截的方法,为待拦截的方法 增加处理逻辑,并缓存到目标类中。

较佳地,

逻辑单元203,用于调用缓存对象中待拦截方法执行,并缓存执行的结 果;在待拦截方法前、后,或,前和后增加拦截逻辑并执行,缓存执行的结 果。

较佳地,

逻辑单元203,用于通过call或apply方式调用缓存对象中待拦截方法。

较佳地,

复制单元204,用于若目标类中其他的方法和属性丢失,则将缓存对象 中其他的方法缓存到目标类中;若目标类中其他的方法和属性存在未丢失的, 则将缓存对象中其他的方法覆盖所述目标类中其他的方法。

上述实施例的单元可以集成于一体,也可以分离部署;可以合并为一个 单元,也可以进一步拆分成多个子单元。

综上所述,本发明通过对待拦截的方法即需要修改才能实现需要的方法 增加处理逻辑,来达到需要的逻辑实现。能够在不修改第三方的JavaScript 库的源代码的基础上使用第三方的JavaScript库,降低维护和开发的复杂性。

以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护 范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号