[发明专利]一种实现前端事件代理的方法及装置有效
申请号: | 201610857497.8 | 申请日: | 2016-09-27 |
公开(公告)号: | CN107015839B | 公开(公告)日: | 2020-07-17 |
发明(设计)人: | 郝立鑫 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京晋德允升知识产权代理有限公司 11623 | 代理人: | 杨移 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 前端 事件 代理 方法 装置 | ||
1.一种实现前端事件代理的方法,其特征在于,所述方法包括:
当监听到网页中发生的事件后,确定与所述事件相关的各层级节点;
获取所述各层级节点的节点数据;
针对每一层级节点,根据获取到的所述节点数据,与网页脚本中预编译的设定格式的对象进行比对匹配;其中,预编译的设定格式的对象,能够反映不同层级节点数据所对应的对象;
当确定所述节点数据与所述对象相匹配时,对所述事件进行响应;
其中,所述设定格式,包括:JSON格式,根据获取到的所述节点数据,与网页脚本中预编译的设定格式的对象进行比对匹配,具体包括:
确定获取到的所述节点数据对应的对象;
确定所述JSON对象的键名以及标识键值对;
根据所述节点数据对应的对象,以及网页脚本中预编译的JSON对象键名以及标识键值对,进行比对匹配。
2.如权利要求1所述的方法,其特征在于,预编译设定格式的对象,具体包括:
在所述网页对应的网页脚本中,确定该网页脚本中包含的选择器;
对所述选择器进行预编译,生成JSON对象;
将JSON对象串替换所述网页脚本中的选择器,并将替换后的JSON对象确定为设定格式的对象。
3.如权利要求2所述的方法,其特征在于,确定该网页脚本中包含的选择器,具体包括:
确定所述网页脚本对应的抽象语法树ast;
在所述ast中,按照预设的字符标记,查找包含有该字符标记的节点;
将查找到的所述节点所对应的内容确定为选择器。
4.如权利要求3所述的方法,其特征在于,对所述各选择器进行预编译,生成JSON对象,具体包括:
确定所述选择器对应的ast;
根据所述选择器对应的ast,确定所述选择器的类型;
根据所述类型,对所述选择器进行预编译,生成JSON对象。
5.如权利要求4所述的方法,其特征在于,所述选择器的类型为并列结构;
根据所述类型,对所述选择器进行预编译,生成JSON对象,具体包括:
确定并列的每一选择器对应的字符串;
将每一选择器对应的字符串编译为该选择器的键,并按照并列结构的顺序,生成包含每一选择器的键,以及预设的标识键值对的JSON对象;
其中,所述选择器包括:类选择器、元素选择器及id选择器中的至少一种。
6.如权利要求5所述的方法,其特征在于,所述选择器的类型为组合结构;根据所述类型,对所述选择器进行预编译,生成JSON对象,具体包括:
确定所述选择器对应的字符串;
将所述选择器对应的字符串编译为选择器的键,并按照设定的组合顺序,对选择器的键排序,生成包含排序后的选择器的键,以及预设的标识键值对的JSON对象。
7.如权利要求4所述的方法,其特征在于,所述选择器的结构为关系结构;根据所述类型,对所述选择器进行预编译,生成JSON对象,具体包括:
确定所述选择器对应的字符串;
将所述选择器对应的字符串编译为选择器的键,并按照倒序排序,生成包含选择器的键,以及预设的标识键值对的JSON对象。
8.如权利要求7所述的方法,其特征在于,当所述关系结构中包含关系连接符时,将所述选择器对应的字符串编译为选择器的键,还包括:
将所述选择器对应的字符串中的关系连接符,编译为预设格式的关系键。
9.如权利要求4所述的方法,其特征在于,所述选择器的类型为属性结构;根据所述类型,对所述选择器进行预编译,生成JSON对象,具体包括:
确定所述选择器对应的字符串;其中,所述字符串中包含键名字符串、属性标识符以及属性字符串;
将键名字符串编译为选择器的键,将属性标识符编译为预设格式的标识键,并将属性字符串编译为多维数组,生成包含有该选择器的键、预设格式的标识键以及包含有预设键及键值的多维数组的JSON对象。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610857497.8/1.html,转载请声明来源钻瓜专利网。