嵌入页面的客户端的右键菜单的实现方法和装置制造方法及图纸

技术编号:11158802 阅读:82 留言:0更新日期:2015-03-18 14:45
本发明专利技术适用于浏览器领域,公开了一种嵌入页面的客户端的右键菜单的实现方法和装置,该方法包括:在浏览器引擎中注册右键单击的监听事件;如果所述客户端所在的页面有右键单击事件,获取所述右键单击事件所对应的客户端的控件及所述右键单击事件的位置信息;根据预设于页面中的所述客户端控件与右键菜单的对应关系,查找所述右键单击事件对应的客户端控件所对应的右键菜单;根据所述右键单击事件的位置信息显示所述右键菜单。通过在页面中存储与客户端控件相应的右键菜单,根据右键单击事件对应的控件查找相应的右键菜单,从而实现对客户端各控件显示相应的右键菜单,使得嵌入页面的客户端操作更为方便。

【技术实现步骤摘要】

本专利技术属于浏览器领域,尤其涉及嵌入页面的客户端的右键菜单的实现方法和装置
技术介绍
Windows图形界面的出现,改变了人们使用电脑的方式。如在客户端或者网页等程序的操作过程中,通过鼠标或者触摸手势对图形进行操作的方式,实现了更为简单方便的人机交互。用户可以控制鼠标的光标在显示界面上移动,点击鼠标左键激活显示界面上的操作对象完成操作,或者是在界面的操作对象上点击鼠标右键,通过弹出的右键菜单,可提供多种选择操作指令执行相应的操作,使得操作更加方便。随着技术的发展,传统的大客户端向小型化发展,出现了内嵌于网页中的瘦客户端,其通过将其鼠标、键盘等输入传送到服务器处理,服务器再把处理结果回传至客户端显示,可以大大减轻客户端设备的计算量。然而,现有的浏览器的页面的右键菜单,一般如图1所示,浏览器在接收到右键点击指令后,根据点击对象的属性信息,调用浏览器中设定的右键菜单,并将该菜单信息在页面中显示。使用这种方法可以较好的提高浏览器内页面的操作的便利性。但是,对于嵌入页面的瘦客户端来说,往往需要更为具体的操作指令,现有的通常做法是通过页面中的菜单按钮接收触发指令,由于不同的对象所需要的具体操作不尽相同,不能针对具体的对象展现出的相应的操作菜单,而且其操作较为麻烦。
技术实现思路
本专利技术实施例的目的在于提供一种嵌入页面的客户端的右键菜单的实现方法和装置,以解决现有技术中的嵌入页面的客户端不能针对具体的对象展现出相应的操作菜单,而且其操作较为麻烦的问题。本专利技术的进一步目的在于,提供一种能够快速查找操作控件所对应的右键菜单的嵌入页面的客户端的右键菜单的实现方法和装置。本专利技术实施例是这样实现的,一种嵌入页面的客户端的右键菜单的实现方法,所述方法包括:在浏览器引擎中注册右键单击的监听事件,监听所述客户端所在的页面是否有右键单击事件;如果所述客户端所在的页面有右键单击事件,获取所述右键单击事件所对应的客户端的控件及所述右键单击事件的位置信息;根据预设于页面中的所述客户端控件与右键菜单的对应关系,查找所述右键单击事件对应的客户端控件所对应的右键菜单;根据所述右键单击事件的位置信息显示所述右键菜单。为实现本专利技术的进一步目的,所述获取所述右键单击事件所对应的客户端的控件包括:获取客户端所在页面所对应的DOM树,所述DOM树包括多个节点;查找所述右击事件所对应的控件所对应的DOM树中的节点的位置;判断所述对应的DOM树中节点的位置是否设置有相应的右键菜单,如果没有,则查找其父节点是否设置有相应的右键菜单,依此直到查找到设置有右键菜单的节点。本专利技术实施例的另一目的在于提供一种嵌入页面的客户端的右键菜单的实现装置,所述装置包括:第一监听单元,用于在浏览器引擎中注册右键单击的监听事件,监听所述客户端所在的页面是否有右键单击事件;获取单元,用于如果所述客户端所在的页面有右键单击事件,获取所述右键单击事件所对应的客户端的控件及所述右键单击事件的位置信息;查找单元,用于根据预设于页面中的所述客户端控件与右键菜单的对应关系,查找所述右键单击事件对应的客户端控件所对应的右键菜单;第一显示单元,用于根据所述右键单击事件的位置信息显示所述右键菜单。在本专利技术中,通过浏览器引擎中注册右键单击的监听事件,在监听到右键单击事件时,得到右键单击事件所对应的客户端控件和右键单击事件的位置信息,根据所述客户端控件与右键菜单的对应关系,得到相应的右键菜单,结合所述右键单击事件的位置信息显示所述右键菜单。和现有技术相比,本专利技术通过在页面中存储与客户端控件相应的右键菜单,根据右键单击事件对应的控件查找相应的右键菜单,从而实现对客户端各控件显示相应的右键菜单,使得嵌入页面的客户端操作更为方便。进一步的,本专利技术通过获取客户端所在页面所对应的DOM树,查找右击事件对应的控件所对应的DOM树形中的节点的位置,判断所述对应的DOM树中节点的位置是否设置有相应的右键菜单,如果没有,则查找其父节点是否设置有相应的右键菜单,依此直到查找到设置有右键菜单的节点。这样,可以极大的减轻对客户端过多节点的右键设置工作,通过结合DOM树与控件的对应关系,采用向上查找的方法,查找效率高而且极大的提高编程的工作效率。附图说明图1为本专利技术现有技术中提供的页面右键菜单的示意图;图2是本专利技术第一实施例提供的嵌入页面的客户端的右键菜单的实现方法的实现流程图;图3是本专利技术第一实施例提供的页面右键菜单的示意图;图4是本专利技术第二实施例提供的嵌入页面的客户端的右键菜单的实现方法的实现流程图;图5为本专利技术第三实施例提供的嵌入页面的客户端的右键菜单的实现装置的结构示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。瘦客户端(Thin Client)指的是在客户端—服务器网络体系中的一个基本无需应用程序的计算机终端。它通过一些协议和服务器通信,进而接入局域网。作为应用程序平台的Internet的到来为企业应用程序提供了一个全新的领域:一个基于Internet/intranet的应用程序运用一个只包含一个浏览器的瘦客户端。这个浏览器负责解释、显示和处理应用程序的图形用户界面(GUI)和它的数据。这样的一个应用程序只需要被安装在一个Web服务器上,用户可以自动接收升级。一个解决方案只需要部署一次,甚至对成千的用户也是如此,这种想法的确很实用,尤其是Internet技术帮我们缓解了一些传统的应用程序的障碍,比如防火墙和对多平台的支持。瘦客户端将其鼠标、键盘等输入传送到服务器处理,服务器再把处理结果回传至客户端显示。不同的客户端可以同时登录到服务器上,模拟出一个相互独立又在服务器上的工作环境。与此相反,普通客户端会尽可能多地进行本地数据处理,与服务器(或其他客户端)的通信中只传送必要的通信数据。本专利技术实施例所述嵌入页面的客户端,即上述的瘦客户端,可以为嵌入页面的各种应用程序或客户端,如WEBQQ或者WEB应用等。本专利技术实施例所述的一种嵌入页面的客户端的右键菜单的实现方法,所述方法包括:在浏览器引擎中注册右键单击的监听事件,监听所述客户端所在的页面是否有右键单击事件;如果所述客户端所在的页面有右键单击事件,获取所述右键单击事件所对应的客户本文档来自技高网...
嵌入页面的客户端的右键菜单的实现方法和装置

【技术保护点】
一种嵌入页面的客户端的右键菜单的实现方法,其特征在于,所述方法包括:在浏览器引擎中注册右键单击的监听事件,监听所述客户端所在的页面是否有右键单击事件;如果所述客户端所在的页面有右键单击事件,获取所述右键单击事件所对应的客户端的控件及所述右键单击事件的位置信息;根据预设于页面中的所述客户端控件与右键菜单的对应关系,查找所述右键单击事件对应的客户端控件所对应的右键菜单;根据所述右键单击事件的位置信息显示所述右键菜单。

【技术特征摘要】
1.一种嵌入页面的客户端的右键菜单的实现方法,其特征在于,所述方法
包括:
在浏览器引擎中注册右键单击的监听事件,监听所述客户端所在的页面是
否有右键单击事件;
如果所述客户端所在的页面有右键单击事件,获取所述右键单击事件所对
应的客户端的控件及所述右键单击事件的位置信息;
根据预设于页面中的所述客户端控件与右键菜单的对应关系,查找所述右
键单击事件对应的客户端控件所对应的右键菜单;
根据所述右键单击事件的位置信息显示所述右键菜单。
2.根据权利要求1所述方法,其特征在于,所述获取所述右键单击事件所
对应的客户端的控件包括:
获取客户端所在页面所对应的DOM树,所述DOM树包括多个节点;
查找所述右击事件所对应的控件所对应的DOM树中的节点的位置;
判断所述对应的DOM树中节点的位置是否设置有相应的右键菜单,如果
没有,则查找其父节点是否设置有相应的右键菜单,依此直到查找到设置有右
键菜单的节点。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述右键单击事
件的位置信息显示所述右键菜单步骤之前,所述方法还包括:
获取所述控件对应的属性信息;
根据所述控制对应的属性信息,判断所述右键菜单中的指令是否可执行;
如果所述右键菜单中的指令不可执行,则使用灰色菜单显示所述指令对应
的菜单。
4.根据权利要求1所述方法,其特征在于,在所述根据所述右键单击事件
的位置信息显示所述右键菜单步骤之后,所述方法还包括:
监听当前显示的右键菜单是否存在失去焦点事件;
如果当前显示的右键菜单存在失去焦点事件,则隐藏所述右键菜单。
5.根据权利要求4所述方法,其特征在于,所述失去焦点事件包括接收到
位于非右键菜单区域单击事件或者触摸事件,或者接收到的键盘指令事件。
6.根据权利要求1所述方法,其特征在于,在所述在浏览器引擎中注册右
键单击的监听事件,监听所述客户端所在的页面是否有右键单击事件步骤之前,
所述方法还包括:
判断所述浏览器内核的类型;
...

【专利技术属性】
技术研发人员:郭力恒
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1