[发明专利]一种用于实现跨域拖动的方法、系统和装置有效
申请号: | 201210041826.3 | 申请日: | 2012-02-23 |
公开(公告)号: | CN103294672B | 公开(公告)日: | 2017-05-10 |
发明(设计)人: | 林挺;钟雨欢 | 申请(专利权)人: | 腾讯科技(深圳)有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京德琦知识产权代理有限公司11018 | 代理人: | 张玉波,宋志强 |
地址: | 518044 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 实现 拖动 方法 系统 装置 | ||
1.一种用于实现跨域拖动的方法,其特征在于,该方法包括:
内嵌框架iframe元素所在域监听拖动该iframe元素的事件,监听到拖动该iframe元素的事件后,向嵌入有该iframe元素的frame所在域发送跨域请求;
嵌入有该iframe元素的frame所在域接收到所述跨域请求后,获取该iframe元素的拖动位置信息,根据所述拖动位置信息,执行对所述iframe元素的拖动;
所述获取该iframe元素的拖动位置信息包括:
先隐藏所述iframe元素,嵌入有所述iframe元素的frame所在域生成透明遮罩,利用所述透明遮罩覆盖所述iframe元素,然后再显示所述iframe元素;
嵌入有所述iframe元素的frame所在域接收拖动所述iframe元素的事件响应信息,根据所述事件响应信息获取所述iframe元素的拖动位置信息;
其中,所述透明遮罩的尺寸不小于所述iframe元素的尺寸。
2.根据权利要求1所述的方法,其特征在于,根据所述事件响应信息获取所述iframe元素的拖动位置信息包括:
嵌入有所述iframe元素的frame所在域将首次移动的事件伪造成点击事件,从而获得拖动位置的初始位置信息;
根据所述拖动位置信息,执行对所述iframe元素的拖动包括:
将拖动位置信息通过参数传递给执行拖动的模块,执行拖动的模块从所述初始位置开始,根据拖动位置信息,执行拖动操作。
3.根据权利要求1或2所述的方法,其特征在于,所述事件响应信息包括鼠标事件响应信息、或触摸事件响应信息。
4.一种用于实现跨域拖动的系统,其特征在于,该系统包括iframe模块和frame模块,所述iframe模块嵌入在所述frame模块中,
所述iframe模块,用于监听拖动该iframe模块的事件,监听到拖动该iframe模块的事件后,向嵌入有该iframe模块的frame模块发送跨域请求;
所述frame模块,用于接收到所述跨域请求后,先隐藏所述iframe模块,生成透明遮罩,利用所述透明遮罩覆盖所述iframe模块,然后再显示所述iframe模块,接收拖动所述iframe模块的事件响应信息,根据所述事件响应信息获取所述iframe模块的拖动位置信息,根据所述拖动位置信息,执行对所述iframe模块的拖动;
其中,所述透明遮罩的尺寸不小于所述iframe模块的尺寸。
5.根据权利要求4所述的系统,其特征在于,
所述frame模块,将首次移动的事件伪造成点击事件,从而获得拖动位置的初始位置信息,将拖动位置信息通过参数传递给所述frame模块中执行拖动的模块,执行拖动的模块从所述初始位置开始,根据拖动位置,执行拖动操作。
6.一种用于实现跨域拖动的装置,其特征在于,所述装置包括监听模块和发送模块;
所述监听模块,用于监听拖动iframe元素的事件;
所述发送模块,用于在所述监听模块监听到拖动iframe元素的事件后,向嵌入有该iframe元素的frame发送跨域请求;以使得嵌入有该iframe元素的frame在接收到所述跨域请求后,先隐藏所述iframe元素,生成透明遮罩,利用所述透明遮罩覆盖所述iframe元素,然后再显示所述iframe元素,接收拖动所述iframe元素的事件响应信息,根据所述事件响应信息获取所述iframe元素的拖动位置信息,根据所述拖动位置信息,执行对所述iframe元素的拖动;
其中,所述透明遮罩的尺寸不小于所述iframe元素的尺寸。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于腾讯科技(深圳)有限公司,未经腾讯科技(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210041826.3/1.html,转载请声明来源钻瓜专利网。