[发明专利]网页坐标获取方法和装置有效
申请号: | 201210538648.5 | 申请日: | 2012-12-13 |
公开(公告)号: | CN103870484B | 公开(公告)日: | 2017-12-29 |
发明(设计)人: | 李晶;郭学亨;陈映平;吴浩;刘恒兵;龙丁奋 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 杨春香,宋志强 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 网页 坐标 获取 方法 装置 | ||
技术领域
本申请涉及互联网技术,特别涉及网页坐标方法和装置。
背景技术
在互联网应用中,获取输入框内字符和/或光标的网页坐标是非常重要的。比如,在微博应用中,当在输入框内输入@时,在光标附近就显示一个下拉框,要定位这个下拉框,就需要获取输入框内光标的网页坐标,或者距离光标最近的字符的网页坐标。
目前,获取输入框内字符或光标的网页坐标主要通过以下两种方法实现,以获取字符的网页坐标为例,获取光标的网页坐标原理类似:
方法1:其通过模拟浏览器的排版样式实现,具体为:在浏览器的当前排版中先获取目标输入框的网页坐标,再确定目标字符在目标输入框的位置,比如在目标输入框的M行N列,然后获取以下参数:目标输入框内字符的大小、行高、字符间距和输入框的左右边距,最后根据获取的各个参数计算目标字符的网页坐标。
方法2:该方法仅限于IE浏览器,其主要是利用IE浏览器中选区(TextRange)的上偏移(offsetTop)和左偏移(offsetLeft)属性,具体为:创建一个选区(记为R),在目标输入框中选取目标字符的前一个字符并记录至R内,然后获取目标输入框的网页坐标(X0,Y0)、R的offsetTop(记为R.offsetTop)、R的宽度(R.boundingwidth)、R的offsetLeft(记为R.offsetLeft),之后采用以下公式计算目标字符的网页坐标(X,Y):
X=X0+R.offsetLeft+R.boundingwidth;
Y=Y0+R.offsetTop。
从上面描述看出,上述的方法1或方法2均能获取输入框内字符或光标的网页坐标,但是,方法1是通过模拟浏览器的排版样式实现,而由于不同浏览器其具有不同的排版布局,比如存在一些细节上的差异,这会导致不同浏览器最终计算的目标字符的网页坐标不准确;并且,方法1还受到滚动条的影响。而方法2虽然能解决方法1的问题,但仅限于IE浏览器,应用范围比较局限。
发明内容
本申请提供了网页坐标获取方法和装置,以实现在兼容目前主流浏览器的前提下准确获取输入框内字符或光标的网页坐标。
本申请提供的技术方案包括:
一种网页坐标获取方法,包括:
对目标输入框执行用于消除浏览器排版差异的排版样式处理;
创建一个与目标输入框对应的副本层,设置所述副本层对用户不可见,并依据所述目标输入框的排版样式指定所述副本层的排版样式;
判断目标输入框内是否存在与目标标识相关联的关联字符,如果是,将与目标标识相关联的关联字符、以及针对目标标识构造的定位元素一起写入至副本层,所述定位元素在所述副本层中紧邻所述关联字符之后,如果否,将针对目标标识构造的定位元素写入至副本层;
依据所述目标输入框的网页坐标、所述副本层的网页坐标、以及定位元素的网页坐标计算所述目标标识的网页坐标;
其中,所述排版样式处理包括:为所述目标输入框配置以下版本样式属性:单词换行word-wrap属性和文本空白符处理white-space属性,对所述word-wrap属性和white-space属性的属性值进行设置;所述依据目标输入框的排版样式指定副本层的排版样式包括:
遍历所述目标输入框的版本样式属性,将遍历到的版本样式属性配置在所述副本层,并指定所述副本层和所述目标输入框上相同的版本样式属性具有相同的属性值;
基于所述目标输入框具有的禁止溢出overflow特性,为所述副本层配置overflow属性,并指定所述副本层的overflow属性为第三属性值,所述第三属性值用于防止副本层写入的字符撑开副本层。
一种应用于网页坐标获取的装置,包括:
处理单元,用于对目标输入框执行用于消除浏览器排版差异的排版样式处理;其中,所述处理单元执行的排版样式处理包括:为所述目标输入框配置以下版本样式属性:单词换行word-wrap属性和文本空白符处理white-space属性,对所述word-wrap属性和white-space属性的属性值进行设置;
创建单元,用于创建一个与目标输入框对应的副本层,设置所述副本层对用户不可见,并依据所述目标输入框的排版样式指定所述副本层的排版样式;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210538648.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种生成用户兴趣标签的方法及装置
- 下一篇:一种利那洛肽的纯化方法