[发明专利]一种移除页面的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节点的命令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210579298.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种带有多排LED灯板的路灯
- 下一篇:摇头式LED投光灯





