CN100527051C - 控制上下文菜单的方法 - Google Patents

控制上下文菜单的方法 Download PDF

Info

Publication number
CN100527051C
CN100527051C CNB2004800252261A CN200480025226A CN100527051C CN 100527051 C CN100527051 C CN 100527051C CN B2004800252261 A CNB2004800252261 A CN B2004800252261A CN 200480025226 A CN200480025226 A CN 200480025226A CN 100527051 C CN100527051 C CN 100527051C
Authority
CN
China
Prior art keywords
menu
context menu
user
client modules
information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB2004800252261A
Other languages
English (en)
Other versions
CN101061453A (zh
Inventor
埃里克·布尔克
艾伦·瓦达
范朝明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Altaba Inc
Original Assignee
Yahoo Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Yahoo Inc filed Critical Yahoo Inc
Publication of CN101061453A publication Critical patent/CN101061453A/zh
Application granted granted Critical
Publication of CN100527051C publication Critical patent/CN100527051C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本发明的一个实施例用于控制通过网页使用的上下文菜单,其中所述网页被划分成各区域,可包括下载附加菜单条目,所述附加菜单条目在下载之前不是该上下文菜单的部分,并监视用户何时调用上下文菜单。当检测到上下文菜单调用,则确定用户选择了哪个区域,并使至少一个附加菜单作为上下文菜单接口的部分对用户可用。根据用户选择的区域来选取至少一个附加菜单条目。

Description

控制上下文菜单的方法
相关申请的交叉引用
本申请要求2003年8月5日提交的名称为“METHOD ANDSYSTEM OF CONTOLLING A CONTEXT MENU”申请号为60/493,029的美国专利申请的权益。
技术领域
本发明涉及计算机界面,特别涉及控制上下文菜单的方法和系统。
背景技术
当访问因特网,因特网用户通常通过计算机来执行浏览器软件程序,如Netscape NavigatorTM或Microsoft Internet ExplorerTM。浏览器程序(即浏览器)建立到因特网的链接(如经由调制解调器和因特网服务提供商(ISP))并提供文本和图形用户界面(如应用程序窗口)以及在该应用程序窗口内的用于显示因特网内容的窗口(如浏览器窗口)。
在使用浏览器的时候,用户可以调用上下文菜单(context manu),如通过点击鼠标右键或激活上下文菜单键。上下文菜单由一列可选的条目(item)构成,通常用来执行不同的浏览器功能。根据在浏览器程序中点击了什么和/或用户选择了什么来显示不同的上下文菜单。上下文菜单使用户快速访问与所点击的元素相关联的浏览器功能,使因特网导航更加便捷。为此,希望把附加的菜单条目插入到上下文菜单中,以增加浏览器程序的功能。
当前的浏览器程序通过修改注册表设置,使应用程序可添加文本,并且使处理程序(handler)与文本相关联。这种修改上下文菜单的方法有几个缺点。这种方法的缺点之一就是,相对于上下文菜单中标准的或另外的条目,应用程序对附加条目的次序和位置没有控制。当前的上下文菜单修改技术的另一个缺点是不论使用浏览器的用户的情况如何,也不论改用户在使用浏览器时位于什么国家,都提供同样的菜单条目。还有一个缺点就是更新和改变上下文菜单条目要求用户在用户计算机上安装新的应用程序。这样,需要一种改进的控制上下文菜单的系统和方法。
发明内容
本发明满足上述和其他的需求,从下文的说明这会变得很明显。本发明的用于控制上下文菜单的实施例可包括下载附加的菜单条目,这些菜单条目在下载之前不属于上下文菜单的部分,以及包括监视用户何时调用上下文菜单。当检测到上下文菜单调用,则确定用户选择了什么区域,并且使至少一个附加菜单条目作为上下文菜单接口的部分对用户可用。
本发明的另一个实施例旨在提供一种方法,用于控制由公司提供的、通过网页使用的上下文菜单。该方法包括:下载附加的菜单条目,这些菜单条目在下载之前不属于上下文菜单的部分,以及包括通过客户端模块监视用户何时调用上下文菜单。当检测到上下文菜单调用,则使至少一个附加菜单条目作为上下文菜单界面的部分对用户可用,并由该客户端模块确定该附加菜单条目的布置。
本发明的另一个实施例旨在提供一种用于控制通过网页使用的上下文菜单的方法,包括通过客户端模块下载附加菜单条目和菜单图标,在下载之前这些附加的菜单条目和菜单图标不是上下文菜单的部分,并且包括监视用户何时调用上下文菜单。一旦检测到上下文菜单调用,则使至少一个附加菜单条目作为上下文菜单界面的部分对用户可用,并且使至少一个图标邻近至少一个附加菜单条目布置。
通过下面详细的说明并结合附图,本发明的其他目的和特性将变得明了。应该理解,附图仅仅是用于说明的目的,而不是定义本发明的界限,本发明由权利要求书来限定。
附图说明
这些附图不是按比例的,仅仅用于说明,并且在几个图中其中相同的标号表示相同的要素:
图1是根据本发明实施例所实现系统的示意图;
图2是根据本发明实施例的用于控制上下文菜单的过程的流程图;
图3是根据本发明实施例的用于确定用户选择了什么元素的过程的流程图;
图4是示例性HTML结构的示意图;
图5是根据本发明实施例的提供用于控制上下文菜单的计算机代码的过程的流程图;
图6是示出根据本发明实施例的示例性上下文菜单的示例性屏幕画面;
图7是示出根据本发明实施例的另外的示例性上下文菜单的示例性屏幕画面;
图8是示出根据本发明实施例的另外的示例性上下文菜单的示例性屏幕画面;以及
图9是示出根据本发明实施例的另外的示例性上下文菜单的示例性屏幕画面。
具体实施方式
下面结合附图示出并说明控制上下文菜单的系统和方法的几个示例性实施例。
参考图1,其中示出了根据本发明特定实施例实现的系统100的框图。计算机150连接到因特网190。计算机150包括内部总线164,用于计算机150的各种设备之间的信息(即数字数据)通信,并且还用于该计算机经由通信接口168与外部设备和系统之间的通信。耦合到总线164的处理器166处理计算机150内的信息。计算机150还包括存储器160,例如随机存取存储器(RAM)和/或其他等价的动态存储器存储设备耦合到总线164,用于接收和存储从处理器166传送的指令。存储器160还可在处理器166执行指令时用于临时存储变量或其他中间信息。只读存储器(ROM)162也耦合到总线164,用于存储处理器所166使用的静态数据和指令。
提供各种输入和输出设备作为计算机150的一部分,包括但不限于:显示器(如阴极射线管(CRT)、液晶显示器(LCD)等),诸如键盘的输入设备,诸如鼠标或轨迹球之类的光标控制设备。数据存储设备152,如磁盘驱动器和磁盘、CD-ROM驱动器和CD-ROM或其他等价的设备和数据存储介质,耦合到总线164,用于同处理器166、主存储器160和通信接口168通信。优选在存储设备152存储有操作系统170和因特网浏览器软件程序172(即浏览器)。下面将详细讨论,客户端模块174也可以存储在数据存储设备152上。
在包括但不限于同轴电缆、铜线和光纤的一个或多个传输介质上,计算机150通过通信接口168可通信地连接到因特网190。计算机150和因特网190之间的通信也可以是通过无线或蜂窝接口。通信接口168在计算机150和诸如由内容提供商120、130设立的服务器计算机(未示出)的另外电子设备或系统之间提供双向的通信。
使用计算机150的因特网用户(未示出)通过使浏览器172执行来获得对因特网190的访问,因此通过因特网服务提供商(ISP)180打开计算机150的通信接口168和内容提供商120的因特网站点126之间的通信链路。由内容提供商120把因特网内容传送给计算机150,以便由浏览器来显示。可替换地,内容提供商120、130也可以是ISP180。
在替换的实施例中,计算机150可以是台式机或笔记本计算机、PDA、手持设备或无线电话(具有图形功能),或者是可以执行这里所述功能的目前任何已知的或以后开发的设备。
根据本发明的实施例,第一因特网内容提供商120可以向因特网用户提供对程序122的访问,用于控制浏览器172。控制程序122在由用户执行时把客户端模块174,如动态链接库(DLL),下载或建立到因特网用户的计算机150的数据存储设备152。客户端模块174优选包括ActiveX控件或Plug-in功能。当因特网用户使用浏览器172访问因特网,则浏览器打开客户端模块174并且优选自动地(或不是自动地)建立到内容提供商因特网站点126的连接。内容提供商响应由浏览器172建立的该连接,把信息和/或功能数据加载到该浏览器内的由客户端模块174建立的外壳操作(shell operating)。例如,如果该用户在内容提供商那里有账号,定制的信息和/或功能可以加载到客户端模块174。如果用户没有账户,可加载更一般的(如guest)信息和/或功能。
在特定的实施例中,客户端模块174最初打开浏览器172内的外壳(或多个外壳),其包含ActiveX控件或Plug-in代码,可用来控制,即添加、去除和/或修改因特网浏览器172。当加载了ActiveX控件或Plug-in,客户端模块174优选包含函数、对象、数据和其他软件,在这里一般地称作信息,可用于控制浏览器172。本实施例保证当因特网用户移动时客户端模块174(和外壳)不关闭,例如当因特网用户从因特网站点126(具有网页124)移动到因特网站点136(具有网页134)。因此,当因特网用户从加载了ActiveX控件或Plug-in的因特网站点断开连接并连接到另外的因特网站点时,通过ActiveX控件或Plug-in提供的信息和/或功能不会丢失。在替换的实施例中,客户端模块174可以在浏览器的“后面”操作,对用户是不可见的,直到调用上下文菜单。在又另一个实施例中,客户端模块174可位于因特网用户的远程位置。
图2示出了用于控制上下文菜单的方法200的示例性实施例。方法200从步骤205开始,由客户端模块174向预定的因特网站点传输有关用于上下文菜单条目描述的请求,例如由内容提供商120接收所述用于上下文菜单条目描述的请求。该请求可以是所述的客户端模块174和内容提供商因特网站点126之间所建立连接的一部分和/或隐含在该连接中。
接下来,在步骤210,客户端模块174从预定的因特网站点126接收数据,该数据包括上下文菜单条目的描述。在一个示例性的例子中,其中,通过客户端模块174把控制上下文菜单的方法实现成浏览器工具条,上下文菜单条目描述由该客户端按作为常规工具条按钮的相同馈送来接收。例如该描述可包括类型、URL、标题、记忆键和起始位置。
处理从步骤210进到步骤215,在此客户端模块174确定何时浏览器172完成加载网页。在一个示例性的实施例中,这可以通过Web浏览器控件上的调整事件来完成,以使得在发生不同的事件时Web浏览器可通知客户端模块174。例如,当完成网页时,客户端模块174将接收DISPID_DOCUMENTCOMPLETE事件。
回到方法200的说明,在步骤220,客户端模块174监视上下文菜单事件。在一个示例性实施例中,在网页完成加载之后,客户端模块174为该网页检索IHTMLDocument2接口。利用IHTMLDocument2指针,客户端模块174可以监视与该HTML文档有关的事件。特别,客户端模块174查找调用DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU的事件,在光标位于浏览器窗口时,当用户点击或激活鼠标右键,则启动它。
接下来,客户端模块174在步骤225确定是否发生上下文菜单事件。如果没有发生上下文菜单事件,处理返回到步骤220,客户端模块174继续监视上下文菜单事件。当返回到决策步骤225,如果客户端模块174确定发生了上下文菜单事件,即发生DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU事件,处理进到步骤230。
在步骤230,客户端模块174准备浏览器窗口来观察以及可能修改由该浏览器窗口接收的与上下文菜单有关的事件。在特定的实施例中,当客户端模块174检测到DISPID_HTMLDOCUMENTEVENTS2_ONCONTEXTMENU事件,客户端模块174对浏览器窗口做子类化(subclassing)。子类化浏览器窗口使得客户端模块174可观察由该浏览器窗口接收的事件。例如,子类化可由CContainedWindow对象来执行,它把消息引导到客户端模块174。为了确定客户端模块174要子类化哪个窗口,客户端模块174从顶级浏览器窗口开始向下搜索该窗口层次来查找带有类名“Internet Explorer_server”的窗口。一旦找到,将子类化该窗口。这种类型的浏览器窗口子类化在序列号为09/429,585、1999年10月28日提交、名称为“A Method of Controlling An InternetBrowser Interface And A Controllable Browser Interface”的美国专利中有详细说明,其内容通过引用并入此处,用作参考。
回到方法200的说明,在步骤235,客户端模块174确定客户在网页上选择了什么元素,以及当客户调用或激活上下文菜单时什么文本(如果有的话)处于高亮度。步骤235将依据方法300并参考附图3在下面详细说明。再看附图2,在步骤235之后,客户端模块174将获得有关所选择元素的信息,包括:元素的类型,这可能是至少一个锚定(如可点击的超链接)、对象(如嵌入在网页中的ActiveX控件)、图像(如嵌入在网页的图片)和文本的结合;所选择的URL,如果有的话;以及在此时选择(或高亮度)的文本,如果有的话。利用该元素信息、所选择文本和在步骤230准备的浏览器窗口,处理进到步骤240。
在步骤240,客户端模块174在浏览器窗口处理事件之前监视事件。在一个示例性的实施例中,客户端模块174查找包括消息WM_INITMENU、WM_EXITMENULOOP、WM_MENUCHAR、WM_MENUSELECT、WM_MEASURITEM和WM_DRAWITEM的消息。
当消息指示客户端模块174接收了将要显示的上下文菜单,该处理从监视步骤240进到步骤245,在此客户端模块174根据客户选择了什么元素(如果选择了元素)以及选择了什么文本(如果选择了文本)把菜单条目添加到上下文菜单。在一个示例性的实施例中,WM_INITMENU消息指出上下文菜单将要显示。当客户端模块174接收WM_INITMENU消息,客户端模块174识别出所选择元素的类型,这样客户端模块174可以确定在上下文菜单的什么地方布置附加的菜单条目。在特定的实施例中,每种类型元素的起始位置是预定的,并包含在从预定因特网站点接收的上下文菜单条目描述中。如果元素具有多个类型,优先次序是锚定(Anchor)、图像(Image)、文本(Text)(即如果类型是Anchor和Image,客户端模块174从Anchor的起始位置开始)。在替换的实施例中,可以使用不同的优先次序,或者没有特别的优先次序。一旦客户端模块174确定了起始位置,在特定的实施例中,客户端模块174使用Windows应用编程接口(API)把菜单条目添加到上下文菜单。如果在所接收的上下文菜单描述中有多个记忆特征,在客户端模块174添加菜单条目的时候存储这些记忆特征。另外,附加的和原始的上下文菜单条目还可以包含子菜单。例如,当用户在附加的或原始的上下文菜单条目上浮动鼠标指针和/或做选择,可以建立第二上下文菜单,提供给用户附加的菜单条目。另外,可替换地,在第二上下文菜单中的条目可以导致第三上下文菜单,依此类推。可以使用这样的子菜单来帮助组织相关的条目。
当消息指出接收了要拒绝的上下文菜单,即客户选择菜单条目或在上下文菜单之外的某处点击,处理从步骤245进到步骤250,在此客户端模块174从上下文菜单中去除所附加的菜单条目。在特定的实施例中,WM_EXITMENULOOP消息指出拒绝了上下文菜单。当客户端模块174接收WM_EXITMENULOOP消息,客户端模块174去除附加的上下文菜单。
在示例性的实施例中,如果客户端模块174接收了WM_MENUCHAR消息,这表示在显示上下文菜单的时候,客户已经击打或按下了键盘的键。在这种情况下,客户端模块174把所击打的键与所附加的上下文菜单的记忆键做比较。如果匹配,则拒绝该上下文菜单,并向客户端模块174传送WM_MENUSELECT消息,其中带有值向客户端模块174指出该上下文菜单被拒绝。
回到方法200的说明,该处理从步骤250进到步骤255。在步骤255,客户端模块174确定是否选择了条目。在一个示例性的实施例中,WM_MENUSELECT消息指出,用户或者击打了对应菜单条目的记忆键,或者用鼠标做了选择。WM_MENUSELECT消息还可指示何时用户拖动鼠标以指向菜单条目,因此使该菜单条目高亮度。
如果客户端模块174确定已做了选择,则该处理从步骤255进到步骤260,在此处理该选择。当接收了WM_MENUSELECT消息,有参数指示已经拒绝了上下文菜单,并且用户通过鼠标或通过击键(或其他)选择了上下文菜单条目,则做出选择并对其进行处理。在一个实施例中,客户端模块174查看上下文菜单描述来查找对应所选择条目的数据。由该数据,客户端模块174利用专门对当前网页的数据替换默认的URL,如URL或文本选择。一旦替换了信息就对其做处理。
回到决策步骤255,如果确定没有选择上下文菜单条目,处理进到步骤265。在步骤265,客户端模块174确定该浏览器是否依然活动。如果该浏览器是活动的,处理返回到步骤220并且客户端模块174对上下文菜单事件进行监视。另一方面,如果客户端模块174确定该浏览器不再活动,方法200的处理结束。
在参考图1的同时参见图3,其中示出了方法300的示例性实施例,用于当用户调用了上下文菜单时确定用户选择了什么元素以及选择了什么文本。方法300的处理在步骤310开始,在此客户端模块174识别由用户选择的网页上的元素。该元素被当作源元素。在一个实施例中,客户端模块174通过使用对应于该选择(如点击)的IHTMLEventObj指针可以识别所考虑的源元素。该指针包含有关点击事件的信息,包括选择(点击)了什么HTML元素。然后处理从步骤310进到步骤315。
在步骤315,客户端模块174确定当前元素是否有效。在特定的实施例中,客户端模块174通过使用ATL智能指针CComQIPtr<Class>确定当前元素是否是锚定(Anchor)、对象(Object)、或图像(Image)。例如,为了测试该元素为ANCHOR,客户端模块174可使用下面的调用:
CComQIPtr<IHTMLAnchorElement>pAnchor=pelem
如果该调用成功并且pAnchor不是NULL,即具有值,则客户端模块174确定该元素是ANCHOR。使用类似的处理来确定元素是否是Object或Image。回到方法300,在步骤315,如果客户端模块174确定当前元素有效,处理进到步骤320,在此客户端模块174确定该元素的类型是否是所关注的类型,例如,在本发明的一个实施例中,锚定和图像是所关注的类型。在另外的实施例中,其他的类型,如对象和文本也可以是所关注的,并且可以添加另外的上下文菜单条目给用户附加的功能。
在步骤320,如果客户端模块174确定当前元素的类型不是所关注的,处理进到步骤335,在此客户端模块174上溯网页(即HTML文档)结构并识别下一个双亲元素,即在前的元素。处理从步骤335进到决策步骤315,在此客户端模块174确定当前元素是否有效。如果当前元素有效,处理从步骤315进到步骤320。在步骤320,如果客户端模块174确定当前元素的类型是所关注的类型,处理从步骤320进到步骤325。
在步骤325,客户端模块174确定当前元素是否是图像。如果客户端模块174确定当前元素不是图像,处理进到步骤330,在此客户端模块174保存该元素,包括相关的信息(如元素的类型和相关的URL)。从步骤330,处理进到步骤335,在此识别下一个双亲。如上所述重复步骤315和320。在步骤325,如果客户端模块174确定当前元素是图像,处理进到步骤345。
在步骤345,客户端模块174确定该图像是否是图像映射(imagemap)。如本领域熟知的,图像映射是划分成可点击区域的图像,当点击时,各个区域可映射到不同的URL。该URL可成为当前网页的书签,或链接到另外的网页。在特定的实施例中,客户端模块17查看图像元素的“useMap”特性。如果该特性值是空白,即“”,则该图像不是图像映射。如果该图像的“useMap”特性是URL,则该图像是图像映射。返回到步骤345,如果客户端模块174确定该图像不是图像映射,处理进到步骤350,在此保存当前元素。从步骤350,处理进到步骤355,在此识别下一个双亲元素。如上所述重复步骤315、320和325。
返回到步骤345,如果客户端模块174确定该图像是图像映射,处理进到步骤355,在此客户端模块174获得与该图像映射有关的数据。在一个示例性的实施例中,该图像映射数据作为一组座标和URL来存储,即:
<MAP NAME="mapl">
<AREA NAME="area1"COORDS="0,0,99,100"
 HREF="http://www.yahoo.com/"TARGET="framel">
<AREA NAME="area2"COORDS="100,0,199,100"
 HREF="http://sports.yahoo.com/"TARGET="framel">
<AREA NAME="area3"COORDS="200,0,299,100"
 HREF="http://weather.yahoo.com/"TARGET="framel">
<AREA NAME="area4"COORDS="300,0,400,100"
 HREF="http://companion.yahoo.com/"TARGET="framel"></MAP>
COORDS描述了该映射区域的定界矩形,HREF是当用户在所描述的区域点击时浏览器将要导航的URL。存储该图像映射信息为以后使用。
回到方法300的说明,处理从步骤355进到步骤360。在步骤360,客户端模块174确定用户选择(点击)了该映射的哪一部分。在一个实施例中,客户端模块174通过在IHTMLDocument2上的第一调用get_all()来得到该网页上的所有HTML元素的集合来确定用户点击了哪一部分。然后,客户端模块174查找元素,该元素的名字是该图像正使用的该映射的名字。然后客户端模块174确定用户点击相对于该源元素即图像元素左上角的偏移x、y。然后客户端模块174得到包含在该MAP中的所有AREA元素的集合。对该集合中的每个AREA元素,客户端模块174确定用户点击的X、Y(或座标)是否位于由该AREA的COORDS描述的定界矩形中。一旦客户端模块174确定用户点击了哪个AREA,客户端模块174就可以得到该HREF特性。
回到方法300的说明,处理从步骤360进到步骤330,在此保存该元素,包括保存诸如类型和URL的相关信息,用于以后使用。处理从步骤330进到步骤335,在此识别下一个双亲元素。然后,处理从步骤335进到步骤315。
在步骤315,如果不再有双亲元素,则客户端模块174确定当前元素无效。在这种情况下,处理从步骤315进到步骤365。在步骤365,客户端模块174检查该网页选项指示符以确定是否选择了文本。在一个实施例中,客户端模块174通过从该文档获取IHTMLSlectionObject指针来确定是否选择了文本。如果存在该指针并具有类型“text”,则已选择了文本。
回到方法300的说明,处理从步骤365进到步骤370。在步骤370,如果客户端模块174确定选择了文本,处理进到步骤375。在步骤375,保存该文本并保存该文本被选择的状态。在实施例中,客户端模块174通过对该选项建立IHTMLTxtRange来保存所选择的文本。然后,客户端模块174在该范围调用get_text()以获得所选择的实际文本。接下来,保存该文本以及存在选择的TEXT的状态用于以后使用。返回到决策步骤370,如果没有选择的文本,方法300在步骤245返回到方法200。
为了进一步说明确定用户选择了什么元素的方法300,下面给出5个例子,这些例子与图4示出的示例性元素结构400相关。由结构400表示的HTML代码(添加了参考标号)如下:
1-<html>
2-<body>
3-<a href="http://www.yahoo.com/">Yahoo!</a>
4-<br><br>
5-<a href="http://www.yahoo.com/"><img src=img.GIF</a>
6-<br><br>
7-<table cellpadding=5width=100%>
8-<tr bgcolor=red>
9-<td width=50% align=center bgcolor=#00ff00>
10-<a href="http://www.yahoo.com/">Yahoo!</a>
11-</td>
12-<td width=50%align=center bgcolor=#00ffff>
13-<span>
14-<font face=verdana>
15-<a href="http://www.yahoo.com/">Yahoo!</a>
16-</font>
17-</span>
18-</td>
19-</tr>
20-<tr height=25 bgcolor=red>
21-<td>hello</td>
22-</tr>
23-</table>
24-</body>
25-</html>
第一个例子说明了当用户点击文本链接时的情况。上面示出的该示例性HTML代码的第三行是文本链接,在图4中由节点405表示。用户选择(点击)的该元素是锚定,即源元素是锚定,所以把它标记成锚定,并且客户端模块174上溯该HTML结构到下一个双亲元素。该下一个双亲元素是“body”元素,即节点410,在当前实施例中,它不是所关注类型的元素。因此忽略它并识别下一个双亲元素。下一个双亲元素是NULL,所以客户端模块174进而检查是否选择了文本。确定用户所点击的类型是ANCHOR。
第二个例子说明了当用户在作为链接的图像上点击时的情况。上面示出的示例性HTML代码的第5行是作为链接的图像。在图4中由节点415和420表示。由用户点击的该元素是图像,即该源元素是图像,即节点415,所以把它标记成图像并且客户端模块174上溯该HTML结构到下一个双亲元素。该图像不是图像映射,所以没有采取有关该图像的额外步骤。该下一个双亲元素是锚定,即节点420,所以把它标记成锚定并识别下一个双亲元素。下一个双亲元素是“body”,即节点410,它不是所关注类型的元素。因此忽略它并识别下一个双亲元素。下一个双亲元素是NULL,所以客户端模块174进而检查是否选择了任何文本。确定用户点击的类型是ANCHOR和IMAGE。
第三个例子说明了当用户点击了具有绿色背景的链接时的情况。上面示出的示例性HTML代码的第9行和第10行是具有绿色背景的链接。在图4中由节点425、430表示。用户点击的该元素是锚定,即源元素是锚定,即节点425,所以把它标记成锚定并且客户端模块174上溯HTML结构到下一个双亲元素。接下来的4个双亲元素是节点430“td”、节点435“tr”、节点440“table”和节点410“body”。这些元素都不是所关注类型的元素。因此忽略它们并识别下一个元素。下一个元素是NULL,所以客户端模块174进而检查是否选择了任何文本。确定用户点击的该类型是ANCHOR。
第四个例子说明了当用户点击具有青色背景的链接时的情况。上面示出的示例性HTML代码的第12行和第18行是具有青色背景的链接。在图4中由节点450到465表示。用户点击的该元素是锚定,即源元素是锚定,即节点450,所以把它标记成锚定并且客户端模块174上溯HTML结构到下一个双亲元素。接下来的6个双亲元素是节点455“font”、节点460“span”、节点465“td”、节点435“tr”、节点440“table”和节点410“body”。这些元素都不是所关注类型的元素。因此忽略它们并识别下一个元素。下一个元素是NULL,所以客户端模块174进而检查是否选择了任何文本。确定用户点击的该类型是ANCHOR。
第五例子说明了当用户点击具有红色背景的链接时的情况。上面示出的示例性HTML代码的第20行和第22行是具有红色背景的链接。在图4中由节点470到475表示。用户点击的该元素是“td”,即源元素是“td”,即节点470,这不是所关注的元素因此忽略。接下来的3个双亲元素是节点475“tr”、节点440“table”和节点410“body”。这些元素都不是所关注类型的元素。因此忽略它们并识别下一个元素。下一个元素是NULL,所以客户端模块174进而检查是否选择了任何文本。确定用户点击的该类型是NONE。
在替换的实施例中,可以实现其他不同的模式,用于确定哪种类型的元素是所关注的以及哪些元素是要忽略的。
图5示出了用于提供控制上下文菜单的计算机代码的方法500的示例性实施例。为了使用本发明的附加上下文菜单条目,用户获取客户端模块174。在示例性的实施例中,用户在步骤505通过与预定因特网站点连接来取得客户端模块174。然后,在步骤510,服务器监视来自客户端的请求。当接收到对客户端模块174的请求,处理进到步骤515。在步骤515,利用控制程序122,因特网站点126对用户计算机150建立或下载客户端模块174。该客户端模块可以是库文件。
一旦用户获得客户端模块,处理返回到步骤505,在此客户端模块174与预定的因特网站点连接。该预定因特网站点可以是因特网站点126,由此下载客户端模块174,或者可替换地,该预定的因特网站点可以是另外的站点,如因特网站点136。处理进到步骤510,在此因特网站点126监视来自该客户端的请求。当接收到对菜单描述的请求,处理进到步骤520,在此该因特网站点把该菜单条目的描述传送给客户端。然后该因特网站点返回到步骤510,在此它监视来自该客户端的请求。
可以提供本发明的实施例作为在计算机显示器上控制因特网浏览器可显示的因特网浏览器界面的方法特性,并使得该计算机和因特网浏览器用户可访问和导航因特网,在该计算机显示器上接收和显示来自一个或多个因特网站点的一个或多个网页,包括来自预定因特网站点的网页的显示,该因特网浏览器具有至少一个工具条按钮,对该计算机和因特网浏览器的用户提供预定的功能,该方法可包括,在预定的因特网站点上提供对控制因特网浏览器界面的程序的访问,并使得可由该预定的因特网站点下载文件,以使持久的用户工具条邻近所述因特网浏览器工具条显示,这样建立用户工具条集成到因特网浏览器部分的可视印记,该用户工具条实现附加的功能,这些附加功能在下载之前不是因特网浏览器的一部分,在下载之后作为因特网浏览器界面的一部分对用户可用,这样,一旦显示该用户工具条,该用户工具条保持显示,并且该附加的功能保持对用户可用,与在下载之后因特网浏览器所导航到的后续因特网站点无关。因特网用户可以对浏览器定制,这样,每当用户利用浏览器访问因特网,用户定义的信息和/或功能将随着浏览器界面显示,如显示成工具条。该工具条可包括书签、地址和电话本、个人财务信息、个性化新闻、以及如通过ActiveX和Plug-in可用的各种功能。另外,如果因特网用户在内容提供商处有账号,可由浏览器动态显示该用户的账号信息(如投资组合、新闻摘要、书签、地址本、附加的上下文菜单条目)。
在一个实施例中,特定用户的账号信息可以包括个性化的上下文菜单条目。在这样的实施例中,用户可选择所希望具有的上下文菜单条目,例如从所提供的条目清单中选择。这些选项可以存储在内容提供商处和/或存储在本地的客户计算机。
另外,具有账号的用户可在第一位置设置和使用他们的附加上下文菜单条目,然后在第二位置无需重新输入他们的个人设置就具有相同的上下文菜单设置。这可以通过把他们的上下文菜单设置存储在内容提供商处来实现。在用户想要其个性化上下文菜单的任何位置都可以检索个人用户设置。
在一个示例性的例子中,其中,利用用于浏览器菜单条的客户端模块174来实现上下文菜单的控制方法,菜单条目的描述作为按钮发送下来,按照如来自因特网站126的用于工具条常规按钮的相同馈送方式。该按钮“qs”,表示快速搜索(QuickSearch),被标记成不可见的,以便使通常的工具条不会表现它。每个菜单条目是“qs”按钮的子条目,并且每个条目具有特定的信息片,如类型、URL、标题以及可选的图标,这些都在背景中下载,如同其他的工具条图标、记忆键、当用户没有注册时所使用的默认的URL以及对不同点击类型的起始位置。
在该馈送中还可选地把数值发送下来,用于指示应该禁用的上下文菜单特性。利用该数值,可以关闭该特性,如当在实现上下文菜单控制的时候存在并发或其他问题。
另外,通过在工具条馈送中描述附加上下文菜单条目,可以实现用于不同国家和用户的选择。另外,不需要用户下载新的客户端模块174,就可以动态增加新的条目。利用客户端模块174的缓存机制把“qs”按钮的描述存储在客户计算机150,如果条目改变,用户只需要下载新的上下文菜单条目描述。
还可以实现实施例,使信息存储在用户(或客户端)计算机。例如,上下文菜单可以存储在客户端计算机。当用户调用上下文菜单,这些存储的上下文菜单被添加到所显示的上下文菜单。另外,由其他应用存储在客户计算机上的信息可用于向本发明添加附加的特性。例如,诸如伙伴代码、共同品牌以及用户下载本发明的位置等信息可以存储在客户端计算机上。该存储的信息可用于确定上下文菜单的内容。在实施例中,可检验注册表来确定要使用哪个上下文菜单条目。在另外的例子中,一个菜单条目可以是“电邮该链接到...”。在该条目上游动鼠标指针和/或选择该条目,建立子菜单,包括来自诸如Outlook的另外应用的地址。还可以根据本发明通过添加附加的计算机代码如Plug-in来实现附加的特性。
图6至图9示出了根据本发明实施例的用于不同的被点击元素的示例性上下文菜单。参见图6,浏览器600是根据本发明实施例实现的浏览器。浏览器600包括多个窗口,每个窗口向因特网用户提供不同的功能。浏览器600可包括第一应用窗口605,该窗口通常定义浏览器600的一般尺寸、颜色和布局并包括用于该应用窗口605的窗口控制按钮670(如最小化、关闭等)。浏览器600还可包括浏览器窗口615和工具条窗口610。浏览器窗口615和工具条窗口610通常定义信息和/或功能,用于在访问和导航因特网时帮助因特网用户。例如,浏览器窗口615和工具条窗口610可提供工具条、下拉菜单、插件、应用程序等。
例如,在应用窗口605的顶部(见图6)提供的工具条窗口610定义4个工具条625、630、635、640,可包括各种接口控件,例如,下拉式菜单、功能按钮(如停止、向后、向前、回主页等)以及功能按钮和窗口的组合(如搜索按钮和窗口的组合)。最上端的工具条625提供多个下拉式菜单;由顶向下第二个工具条630提供多个功能按钮;由顶向下第三个工具条635提供下拉式菜单和窗口,如URL地址窗口;最下面的工具条640由客户端模块174来实现并向该浏览器提供添加的功能,如搜索字段和本发明的上下文菜单。在本发明的实施例中,最下面的工具条640可包含上下文菜单条目描述作为不可见的按钮。还提供浏览器窗口615作为浏览器600的一部分,在其中可显示来自因特网内容提供商120(见图1)的内容。
例如,用户可通过右击鼠标按钮来调用上下文菜单。在图6中,在指针位于该网页背景时用户右击了鼠标,以此调用上下文菜单645。在这个示例性的实施例中,本发明根据用户在背景上的点击来添加上下文菜单条目650。安置这些条目作为第二组菜单条目,并包括图标和记忆键。这些上下文菜单条目包括:“Add This Page To Yahoo!Bookmarks”、“IM this Page To Friend”以及“Email This Page toFriend”。如上所述,这些菜单条目可通过上下文菜单条目描述来修改。
在图7中,当指针在文本链接“yahoo!”705上时,用户右击鼠标,以此调用上下文菜单710。在该示例性的实施例中,该实施例根据用户右击“Yahoo!”705来添加上下文菜单条目715。安置这些条目作为第二组菜单条目,并包括图标和记忆键。这些上下文菜单条目包括:“AddThis Link To Yahoo!Bookmarks”、“IM this Link To Friend”以及“EmailThis Link to Friend”。这些上下文菜单条目与前面的例子不同。
在图8中,当指针在图像链接“Yahoo!Companion”805上时用户右击鼠标,以此调用上下文菜单810。在该示例性的实施例中,本发明根据用户右击“Yahoo!Companion”805来添加上下文菜单条目815。安置这些条目作为第二组菜单条目,并包括图标和记忆键。这些上下文菜单条目包括:“Add This Link To Yahoo!Bookmarks”、“IM thisLink To Friend”以及“Email This Link to Friend”。
在图9中,当文本“Yahoo!”905高亮度时用户在背景上右击鼠标,以此调用上下文菜单910。在该示例性的实施例中,本发明根据该高亮度文本并根据用户在背景上右击来添加上下文菜单条目915。安置这些条目作为第二组菜单条目,并包括图标和记忆键。这些上下文菜单条目包括:“Search the Web for Yahoo!”、“Add This Page To Yahoo!Bookmarks”、“IM this Page To Friend”以及“Email This Page toFriend”。如果“Yahoo!”905高亮度并且用户在一个链接上右击,这些上下文菜单条目可包括:“Add This Link To Yahoo!Bookmarks”、“IM this Link To Friend”、“Email This Link to Friend”以及“Searchthe Web for Yahoo!”(未示出)。
可替换地,可在浏览器环境之外实现本发明的控制上下文菜单的方法和系统。通过计算机操作系统和诸如Microsoft Office等其他应用程序使用的上下文菜单可按照类似的方式来控制。例如,附加的菜单条目可被添加到Windows“开始”菜单,用户可通过右击鼠标或在桌面上做某个选择,或通过任务条,来调用该上下文菜单。另外,附加菜单条目可以添加到用于Microsoft Word的右击菜单。
因此,尽管已经示出和说明和指出了本发明的基本新颖特征,如在其优选实施例中应用的那样,应该理解,在不脱离本发明的精神实质的前提下,本领域的普通技术人员对所公开的本发明可以做形式和细节上的省略、添加和修改。本发明的范围由权利要求书来限定。

Claims (4)

1.一种用于提供附加菜单条目以包含在一个或多个已有菜单条目的上下文菜单之中的方法,所述方法包括:
提供有关所述附加菜单条目在所述上下文菜单内的位置的信息,所述附加菜单条目不是已有菜单条目;
通过识别用户所选择元素的类型来确定有关元素类型的信息;以及
根据该有关位置的信息和有关元素类型的信息,使所述附加菜单条目可用并作为所述上下文菜单的部分显示给用户。
2.一种用于提供附加菜单条目以包含在一个或多个已有菜单条目的上下文菜单之中的方法,所述方法包括:
提供有关所述附加菜单条目的附加菜单信息,所述附加菜单条目不是已有菜单条目;
接收有关所述已有菜单条目的上下文菜单信息以及与用户所选择元素的类型有关的元素类型信息;
根据所述附加菜单信息和所述元素类型信息修改所述上下文菜单信息;以及
使所述附加菜单条目可用并作为所述上下文菜单的部分显示给用户。
3.如权利要求2所述的方法,其中,所述附加菜单信息包括有关所述附加菜单条目在所述已有上下文菜单中相对于所述已有菜单条目的位置的信息。
4.如权利要求2所述的方法,还包括:
确定要显示的上下文菜单;
响应确定要显示的该上下文菜单,存取有关所述已有上下文菜单的上下文菜单信息。
CNB2004800252261A 2003-08-05 2004-07-26 控制上下文菜单的方法 Expired - Fee Related CN100527051C (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US49302903P 2003-08-05 2003-08-05
US60/493,029 2003-08-05
US10/805,668 2004-03-18

Publications (2)

Publication Number Publication Date
CN101061453A CN101061453A (zh) 2007-10-24
CN100527051C true CN100527051C (zh) 2009-08-12

Family

ID=38866675

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004800252261A Expired - Fee Related CN100527051C (zh) 2003-08-05 2004-07-26 控制上下文菜单的方法

Country Status (1)

Country Link
CN (1) CN100527051C (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3268850B1 (en) * 2015-03-08 2023-10-04 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102185974A (zh) * 2011-05-11 2011-09-14 宇龙计算机通信科技(深圳)有限公司 移动终端及其操作锁定控制方法
US8812995B1 (en) * 2013-04-10 2014-08-19 Google Inc. System and method for disambiguating item selection
US20150058808A1 (en) * 2013-08-23 2015-02-26 General Electric Company Dynamic contextual touch menu

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3268850B1 (en) * 2015-03-08 2023-10-04 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus

Also Published As

Publication number Publication date
CN101061453A (zh) 2007-10-24

Similar Documents

Publication Publication Date Title
US7721228B2 (en) Method and system of controlling a context menu
US6915328B2 (en) Web content format for mobile devices
CN100381991C (zh) 导航对象的改进描绘
US7506260B2 (en) Method and system of providing browser functionality through a browser button
US7793227B2 (en) Method and system of providing customizable buttons
KR100276408B1 (ko) 그래픽 사용자 인터페이스에서의 하이퍼-링크 정보를인쇄 가능한 매체로 표현하는 방법 및 시스템
US8706169B2 (en) Interface overlay
US20040027326A1 (en) System for and method of developing a common user interface for mobile applications
US20060129937A1 (en) Method of controlling an Internet browser interface and a controllable browser interface
US20090003704A1 (en) Method and system for controlling browser by using image
WO2008107675A1 (en) Multi-media messaging system for mobile telephone
WO2005078607A2 (en) A frame environment that supports the navigation buttons of a web browser
US20060090138A1 (en) Method and apparatus for providing DHTML accessibility
US20030084115A1 (en) Facilitating contextual help in a browser environment
US7289244B2 (en) Portable high speed internet access device
KR100885523B1 (ko) 사용자 인터페이스 뷰를 위한 디스플레이 모듈, 장치,컴퓨터 소프트웨어 프로덕트 및 방법
CN100527051C (zh) 控制上下文菜单的方法
US7187376B2 (en) Displaying views on computer screens
JP4711577B2 (ja) 地図情報表示プログラム
US20020147741A1 (en) Data processing apparatus for accessing web page data and method for accessing and processing web page data
US7472168B2 (en) Method for dynamically assigning and displaying character shortcuts on a computing device display
US20070236606A1 (en) Methods and arrangements for accessing information via a graphical user interface
US20040201599A1 (en) System and method for displaying content without control items
US7676029B2 (en) Guidance apparatus related to operation of information equipment and guidance method related to operation of information equipment
KR100890746B1 (ko) 컨텍스트 메뉴 제어 방법 및 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 1114433

Country of ref document: HK

C14 Grant of patent or utility model
GR01 Patent grant
REG Reference to a national code

Ref country code: HK

Ref legal event code: GR

Ref document number: 1114433

Country of ref document: HK

ASS Succession or assignment of patent right

Owner name: FEIYANG MANAGEMENT CO., LTD.

Free format text: FORMER OWNER: YAHOO CORP.

Effective date: 20150331

TR01 Transfer of patent right

Effective date of registration: 20150331

Address after: The British Virgin Islands of Tortola

Patentee after: Yahoo! Inc.

Address before: California, USA

Patentee before: YAHOO! Inc.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090812

Termination date: 20210726