[发明专利]一种移除页面的DOM节点的方法和装置有效

专利信息
申请号: 201210579298.7 申请日: 2012-12-28
公开(公告)号: CN103902581B 公开(公告)日: 2017-12-08
发明(设计)人: 陈映平;郭学亨;李晶;吴浩;刘恒兵;龙丁奋 申请(专利权)人: 腾讯科技(深圳)有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京德琦知识产权代理有限公司11018 代理人: 张玉波,宋志强
地址: 518044 广东省深圳*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 页面 dom 节点 方法 装置
【说明书】:

技术领域

本申请涉及计算机技术领域,尤其涉及一种移除页面的DOM节点的方法和装置。

背景技术

包括IE浏览器在内的某些浏览器在内存管理方面存在着一定的缺陷,导致了浏览器的内存占用过高。针对IE浏览器内存占用过高的问题,目前存在着如下的解决方案:

通过建立事件索引表的方式,跟踪页面上绑定的每一个事件,并监听页面的卸载事件,在监听到页面的卸载事件时,遍历事件索引表,将遍历到的所有事件移除,从而释放这些绑定事件占用的内存。

其中,目前建立事件索引表的方法包括:当页面在DOM节点绑定一个事件时,为该事件分配一个ID,该ID为事件索引表的一个键,并指向该事件的属性索引表,该事件的属性索引表的内容包括:绑定该事件的DOM节点信息、该事件的类型、以及该事件的处理方法,其中绑定该事件的DOM节点信息具体为指向该DOM节点的引用。

在IE浏览器监听到页面的卸载事件之前,如果产生将DOM节点移除的事件,例如页面开发人员需要将该页面中的DOM节点移除、或者用户浏览页面时的某些操作触发了移除DOM节点的事件,则IE浏览器在接收到移除DOM节点的命令后,直接执行移除DOM节点的操作。

然而,由于被移除的DOM节点可能绑定了事件,该DOM节点绑定的事件还存在对该DOM节点信息的引用,因此IE浏览器不会真正删除所述被移除的DOM节点,而是将该被移除的DOM节点的信息暂存在预设的内存中。

可见,包括IE浏览器在内的某些浏览器在监听到页面的卸载事件之前,如果接收到移除页面的DOM节点的命令,则IE浏览器无法真正删除被移除的DOM节点,因此无法释放被移除的DOM节点占用的内存空间,导致了IE浏览器的内存占用过高。

发明内容

有鉴于此,本申请提供了一种移除页面的DOM节点的方法和装置,能够解决包括IE浏览器在内的某些浏览器内存占用过高的问题。

一种移除页面的DOM节点的方法,该方法包括:

接收移除页面的DOM节点的命令;

当在页面卸载事件发生之前接收到移除页面的DOM节点的命令时,先将与该DOM节点绑定的事件移除,然后再将该DOM节点移除;

所述将与该DOM节点绑定的事件移除包括:

遍历该DOM节点对应的事件标识ID序列,将该事件ID序列中的所有事件移除;

遍历该DOM节点的各层子节点,遍历每个子节点对应的事件ID序列,将每个子节点对应的事件ID序列中的所有事件移除;

其中,每个绑定了事件的DOM节点对应一个事件标识ID序列,该事件ID序列中存储了对应的DOM节点直接绑定的事件信息。

一种移除页面的DOM节点的装置,该装置包括接收模块和移除模块;

所述接收模块,用于接收移除页面的DOM节点的命令;

所述移除模块,用于当所述接收模块在页面卸载事件发生之前接收到移除页面的DOM节点的命令时,先将与该DOM节点绑定的事件移除,然后再将该DOM节点移除;

所述移除模块包括第一移除模块和第二移除模块;

所述第一移除模块,用于遍历该DOM节点对应的事件标识ID序列,将该事件ID序列中的所有事件移除;

所述第二移除模块,用于遍历该DOM节点的各层子节点,遍历每个子节点对应的事件ID序列,将每个子节点对应的事件ID序列中的所有事件移除;

其中,每个绑定了事件的DOM节点对应一个事件标识ID序列,该事件ID序列中存储了对应的DOM节点直接绑定的事件信息。

可见,当在页面卸载事件发生之前接收到移除页面的DOM节点的命令时,本发明先将与该DOM节点绑定的事件移除,然后再将该DOM节点移除,与现有技术中在接收到移除DOM节点的命令时直接移除DOM节点相比,由于先移除了与该DOM节点绑定的事件,相当于解除了绑定事件对DOM节点的引用,因此可以在移除DOM节点时可以真正地删除被移除的DOM节点,而非将被移除的DOM节点暂存在预设的内存中,因此本发明能够节省浏览器的内存,解决包括IE浏览器在内的某些浏览器内存占用过高的问题。

附图说明

图1是本发明提供的移除页面的DOM节点的方法流程图。

图2是本发明提供的移除页面的DOM节点的装置结构图。

具体实施方式

图1是本发明提供的移除页面的DOM节点的方法流程图。

如图1所示,该方法包括:

步骤101,接收移除页面的DOM节点的命令。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/201210579298.7/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top