网页可以发起与浏览器工具栏的通信。在一个例子中,网页包含不可见的内嵌框架、以及使得内嵌框架加载特定的统一资源定位符(“URL”)的代码。当内嵌框架加载所述URL时,它生成装载事件。所述工具栏可以订阅内嵌框架的装载事件,以及可以包含针对该事件的处理程序。当页面想要向工具栏发送消息时,页面将消息添加到URL,然后执行使得内嵌框架加载所述URL的代码,由此生成装载事件。工具栏中的处理程序接收装载事件,并从所述URL中提取消息。所述处理程序然后可以响应于所述消息而执行附加的代码来执行动作。
【技术实现步骤摘要】
网页到工具栏的通信
技术介绍
许多web浏览器支持工具栏,工具栏或者扩展了浏览器的功能性或者简化了浏览器中的功能的使用。例如,一组web服务的经营者可以提供帮助用户使用web服务的工具栏。这样的工具栏可以包含执行搜索的搜索框、在语言间进行翻译的翻译按钮、和用来向用户通知在经营者提供的电子邮件服务上的进入的消息的电子邮件通知器。工具栏典型地通过询问或检查网页而与网页进行通信。例如,工具栏上的翻译功能可以通过检查页面或者页面的元数据或URL而得知页面是以何种语言写成的。地图功能可以通过检查页面并寻找看起来具有地址语法的文本而确定页面上是否有可以被映射的地址。在网页和工具栏之间通信的这种技术为被动式的页面或者没有意识到工具栏的存在的页面工作。然而,存在某些情况,在其中工具栏发起的对网页的检查使得某些功能的实现很困难或者不能实行。
技术实现思路
与工具栏的通信可以由浏览器中的页面发起。网页可以具有隐藏的内嵌框架(iframe)单元。工具栏可以订阅针对内嵌框架的装载(onload)事件(或其它类型的事件)。当页面上的代码(例如,ECMA-262脚本、或“JavaScript”)想要与浏览器通信时,它可以使得所述内嵌框架导航到某个统一资源定位符(“URL”)。因为使工具栏订阅了针对内嵌框架的装载事件,所以使得内嵌框架加载(load)页面导致了工具栏的装载处理程序被调用。所述处理程序可访问导致该装载事件的URL,因此要被传达到浏览器的消息可以被包括在该URL中——例如,作为附加到URL末尾的参数。以这种方式,页面可以将信息传达到工具栏,以及工具栏可以基于它从页面接收到的信息而采取行动。通过使用类似的技术,工具栏也可以与网页进行通信。例如,网页可以订阅内嵌框架的装载事件。当工具栏想要向网页发送消息时,工具栏可以使内嵌框架加载URL。因为使网页订阅了内嵌框架的装载事件,因此当工具栏使得内嵌框架加载URL时,该动作调用网页的装载处理程序。工具栏可以将消息合并进URL中,由此当网页的装载处理程序接收到该URL时将该消息传达给在网页上的代码。各种类型的工具栏动作可以通过页面发起的通信来实施。例如基于web的游戏可以向工具栏发送通知以便使工具栏将其传达给用户,或者当用户达到某些得分里程碑时可以指令工具栏显示视觉奖励(例如,金星、钻石等等)。作为另一个例子,购物和/或支付网站可以为用户保存货币余额,并可以将该余额传达给工具栏,以使得工具栏可以显示用户的余额。作为再一个例子,网站可以查询工具栏以便找出什么工具栏应用被安装,以及网站可以给用户提供或不提供机会来根据这些应用是否已经被安装而安装这些应用。前文仅仅是可以通过使用页面发起的到工具栏的通信而执行的动作的一些例子,而这里的主题并不限于这些例子。本概要被提供来以简化的形式介绍概念的选择,这些概念在下面的详细说明中被进一步描述。本概要既不打算确认所要求保护的主题的关键特征或必要特征,也不打算被使用来限制所要求保护的主题的范围。附图说明图1是示例性浏览器的框图,其中浏览器和工具栏间的通信可以通过使用这里描述的技术进行。图2是其中工具栏与网页进行通信的示例性系统的流程图。图3是其中网页可以与浏览器工具栏进行通信的示例性过程的流程图。图4是可以结合这里描述的主题的实现而被使用的示例性组件的框图。具体实施例方式许多浏览器都支持工具栏,工具栏或者扩展了浏览器的功能性,或者使得某些功能更易于访问。早期的工具栏由搜索引擎经营者提供。这样的工具栏通过使得用户更易于在经营者的网站上执行搜索而将业务量引导到经营者的搜索引擎——例如,谷歌(Google)工具栏提供了将用户输入到工具栏的搜索框中的查询转发到谷歌搜索引擎的搜索框。随着web应用和网页变得更加复杂,工具栏在功能性上不断增加。例如,工具栏可以扫描网页以检测邮寄地址的存在,以使得工具栏可以表示愿意去显示该地址的地图。或者,工具栏可以检测语言上不同于用户的主要语言的文本的存在,并可以表示愿意去使得网页的文本被翻译成用户的语言。其它的工具栏功能可以包括提供进入的邮件通知、提供当前的天气报告、提供新闻报道、以及各种其它的功能。由工具栏执行的功能典型地分成两个类别。在一种类别中,工具栏与什么页面已经被加载进浏览器的窗口或选项卡(tab)中无关地从web加载信息。例如,工具栏上的天气功能可以知道天气服务的web应用编程接口(“API”)的地址,并可以“击中”该web API的URL来接收当前的天气。工具栏然后可以把这个天气显示给用户。在这个类别中的功能可以从web获得和显示信息,而不用与已经被加载进浏览器的窗口或选项卡中的内容进行通信。由工具栏执行的第二类别的功能包括如下的那些功能,即其中工具栏检查已经被加载进窗口或选项卡中的网页的内容,然后基于页面的内容来执行某种功能。例如,工具栏上的翻译按钮可以通过检查页面的元数据(其可以指示页面的语言)或者通过将页面上的文本的样本发送到用于语言识别分析的翻译网站而工作。在第二种类别的功能中,工具栏发起与页面的联系以便执行功能。这里描述的主题提供了一种允许网页实时发起与工具栏的联系的机制。没有允许网页与工具栏通信的标准的方式,因此这里描述的技术有效地提供了一种类型的API来允许这种类型的通信。为了允许网页发起与工具栏的联系,网页可以包括隐藏的内嵌框架。内嵌框架是超文本标记语言(“HTML”)的某种构造。在内嵌框架对浏览器显示的视觉内容没有做出贡献的意义上说,其可以是隐藏的。然而,内嵌框架可以加载URL,还可以生成事件。当HTML内嵌框架加载URL时,内嵌框架生成装载事件。为了使工具栏从页面接收消息,工具栏订阅内嵌框架的装载事件。在内嵌框架加载URL时生成的装载事件触发了工具栏的装载处理程序,并且还为所述处理程序提供被加载的URL。因此,在网页上运行的脚本(例如,ECMA-262脚本、或“JavaScript”)可以通过创建具有附加的消息的URL,并使得内嵌框架加载所述URL,来将消息传达给工具栏。当工具栏的装载处理程序被调用时,它从URL检索消息,并可以基于该消息采取行动。(这里的主题的描述涉及内嵌框架的“装载”事件。然而,相同的技术可以通过具有如下性质的任何事件而工作,即(a)它可以被页面触发,以及(b)它可以被在web浏览器中运行的工具栏订阅。优选地但是任选地,事件也会具有它可以传递数据的性质,然而这个性质不是必要的,因为要被传达的数据可以被放置在别处的某个商定的位置中。应当理解,本描述中对“装载”事件的提及仅仅是例子,而这里描述的技术可以用其它类型的事件来实施。)通过使用类似的过程,工具栏可以发送消息给网页上的代码。网页可以订阅它自己的内嵌框架的装载事件,以使得内嵌框架对URL的加载调用该页面的装载处理程序。为了使工具栏向网页发送消息,工具栏创建具有消息的URL,并使得页面的内嵌框架加载所述URL。URL的加载调用了页面的装载处理程序,其然后可以从URL检索该消息。现在转到附图,图1显示了示例性的浏览器,其中浏览器和工具栏间的通信可以通过使用这里描述的技术而进行。浏览器100是浏览器软件应用,诸如INTERNET EXPLORER浏览器、Firefox浏览器、Chrome浏览器、或任何其它适当的浏览器程序。浏本文档来自技高网...
【技术保护点】
一种在网页和浏览器工具栏之间通信的方法,所述方法包括:订阅(302)被加载进浏览器(100)的网页(108)的内嵌框架(114)中的事件,可执行指令是所述浏览器(100)中的工具栏(116)的一部分;接收(310)指示统一资源定位符(URL)已经被加载到所述网页(108)中的事件;响应于所述事件,执行(312)所述工具栏(116)中的处理程序(212);以及基于所述事件执行(314)动作。
【技术特征摘要】
2011.12.21 US 13/334,0431.一种在网页和浏览器工具栏之间通信的方法,所述方法包括订阅(302)被加载进浏览器(100)的网页(108)的内嵌框架(114)中的事件,可执行指令是所述浏览器(100)中的工具栏(I 16)的一部分;接收(310)指示统一资源定位符(URL)已经被加载到所述网页(108)中的事件;响应于所述事件,执行(312)所述工具栏(116)中的处理程序(212);以及基于所述事件执行(314)动作。2.权利要求1的方法,所述网页提供游戏,所述网页保存玩家在所述网页上的得分, 所述网页将消息包括在所述URL中并且响应于所述得分的改变而将所述消息发送到所述工具栏,所述消息包括所述得分,所述工具栏响应于接收到所述消息而改变成就的视觉指/Jn ο3.权利要求1的方法,所述网页提供支付服务的操纵盘,所述网页保存所述支付服务的用户的账户余额,所述网页将消息包括在所述URL中并且响应于所述余额的改变而将所述消息发送到所述工具栏,所述消息包括在所述改变之后的所述余额,所述工具栏响应于接收到所述消息而改变所述余额的视觉指示。4.权利要求1的方法,所述网页包含有条件地显示针对应用的宣传的代码,所述网页与所述工具栏进行通信以便确定所述应用是否被安装在所述浏览器在其上执行的计算机上,所述工具栏用所述应用是否被安装的指示进行响应,所述网页基于所述指示来挑选是显示还是不显示所述宣传。5.一种计算机可读介质,其具有用来执行权利要求1-4的任一项的方法的计算机可执行指令。6.一种用于在网页...
【专利技术属性】
技术研发人员:B雷斯勒,G尼克洛夫,S库里,P蒙塞尔,
申请(专利权)人:微软公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。