网页到工具栏的通信的制作方法

文档序号:6385318阅读:158来源:国知局
专利名称:网页到工具栏的通信的制作方法
网页到工具栏的通信
背景技术
许多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浏览器、或任何其它适当的浏览器程序。浏览器100提供了导航栏102,其允许用户指定浏览器将要加载的URL104。如果浏览器提供选项卡的话,URL104可以在选项卡106中被加载,或者如果浏览器不提供选项卡的话,其可以作为浏览器窗口中的唯一的页面被加载。URL104指向页面108,其包含某种类型的内容。在图1中所示的例子中,内容是棋盘游戏,然而可以使用任意类型的内容。图1的例子中所示的视觉内容包括棋盘110和得分112。除了这个视觉内容,页面108还可以包含内嵌框架114。在图1中,内嵌框架在虚线内被显示,以便指示——在真实的浏览器中——内嵌框架的内容可能是不可见的。然而,为了有助于这里的主题的讨论,在图1中显示了内嵌框架的内容,然而这样的内容在实际的实现中可能是不可见的。内嵌框架114包含足够的HTML代码来定义和命名内嵌框架,以使得它可以被页面108上的代码寻址,也可以被 工具栏116寻址。特别地,内嵌框架114包含代码“〈IFRAMEsrc=” id=> communi frame frameborder=0 style=’display: noneV>,,° 该代石马定义了具有可寻址的名称“communiframe”的框架,其在浏览器窗口或选项卡内是不显示的。工具栏116是可以被内嵌在浏览器100中的工具栏,或者是可以作为对浏览器100的扩展而被安装的工具栏。工具栏116提供了各种功能,诸如搜索框118和搜索按钮120、天气报告122和得分报告124。对于页面108上的内容,得分报告124能够与所述内容进行交互。特别地,得分报告124根据页面108上的游戏的玩家完成得有多好来显示一定数量的星星和言语评级。在所显示的例子中,页面108可以向工具栏116报告玩家得分为8,004,由此使得得分报告124显示四颗星以及言语指示“大师级”。下面描述的技术可以被使用来允许页面108上的代码向工具栏116告知玩家的得分,以使得工具栏可以采取显示关于玩家评级的图形和言语指示的行动。图2显示了其中工具栏与网页进行通信的示例性系统。页面108可以包括视觉内容202、代码204和内嵌框架114。视觉内容202可以包含文本、图像、动画、多介质或任何其它种类的内容。代码204可以是可由浏览器执行的一个或多个脚本,诸如ECMA-262脚本、或“JavaScripts”。内嵌框架114可以是页面108的不可见部分,其可以包含诸如以上在图1中所示并讨论的代码。工具栏116可以包含功能代码206和事件处理程序208。功能代码206可以包含实施工具栏的一个或多个功能的代码。例如,功能代码可以实施以上结合图1描述的搜索框、天气报告特性和得分报告特性。事件处理程序208可以包含对由页面108生成的装载事件进行响应的代码。如上面所指出的,代码204可以包括可由浏览器执行的脚本。还如上面指出的,页面108可能想要做的事情之一是将消息传达到工具栏116。页面108可以通过使用适当的代码来传达这样的消息。传达消息的代码的例子被显示在方块210中,其可以是页面108中的代码204的一部分。正如可以看到的,方块210中的代码是
$ ( “#communiframe,,)· attr ( “src,,,http://www. example. com message=hello);
该代码将内嵌框架的源改变成 URL “http://www.example.com message =hello”,由此使得所述URL被加载进内嵌框架中。(内嵌框架的可寻址的名称是“communiframe”,这就是上面的代码通过该名称来寻址内嵌框架的原因)。实际上,该代码所做的是将消息“hello”发送到工具栏(以及发送到订阅了内嵌框架的装载事件的任何其它实体)。页面108在它想要向工具栏116发送消息时可以执行这行脚本。(该URL所指向的实际内容可以是与正在被传达的消息无关的。例如,WWW. example, com可能是指向空白页面的“伪’URL。使内嵌框架加载URL的目的 主要是触发装载事件,由此将信息传达到工具栏)。当内嵌框架的源被上面的代码改变时,结果是在内嵌框架114中生成装载事件。事件处理程序208通过包含对这个事件进行响应的代码而订阅该事件。在图1所示的例子中,事件处理程序208包含在方块212中所示的代码,其是
$ ( “#communiframe,,,document). attr (onload, function ()
{
var url = $( “#communiframe,,)· attr ( “src,,);var match = url. match (/. *= (. *) /);if (match) {
var message = match[I];
}
//用来实施基于消息而执行的动作的代码
I);
该代码所做的是如下的短语“$( “communiframe”,document)”指当前文档中的内嵌框架(其中“communiframe”是内嵌框架的可寻址的名称)。“attr”是内嵌框架的属性,其变元是事件和函数。用变元“(事件,函数)”来调用communiframe上的attr对象意味着当内嵌框架生成“事件”时,“函数”将被执行。在该情形中,“事件”是“装载”,而函数是被内联(inline)定义的匿名函数(然而,在另一个例子中,函数可以在别处被定义,并且通过符号名被引用而不是被内联定义)。这个例子中的匿名内联函数将名为“url”的变量赋值为已经被内嵌框架加载的URL (其被存储在标为“src”的属性中)。它然后使用“match(匹配)”方法来提取url字符串中的、在第一个等号后出现的部分,并将所述提取的部分放入名为“match”的字符串数组中。在该情形中,跟随在等号后的部分是“hello”。变量名“message”然后被赋值为等于在“match”字符串数组中的第一个字符串。在这个例子中,变量“message”将包含字符串“hello”。对“message”进行响应的代码然后被包括在函数中。(该代码将被包括在由注解符号“//”标记的地方)。将被包括的实际代码取决于工具栏在它接收到消息时想要做什么。例如,代码可以包含根据“message”变量中包含什么字符串而执行各种不同动作的切换。而且,代码可以执行的一些特定的示例性动作在下面结合图3被描述。工具栏116执行代码以便执行动作。应当指出,消息可以通过使用类似于上面描述的技术而在相反的方向(B卩,从工具栏116到页面108)上被传送,简单而言是通过使用作为页面108的一部分的、在方块212中的事件处理代码(或类似的代码)以及使用作为工具栏116的一部分的、在方块210中的消息发送代码(或类似的代码)来传送。图3显示了其中网页可以与浏览器工具栏进行通信的示例性过程。在转到图3的描述前,应当指出,图3中包含的流程图是作为例子、参照图1和图2所示的组件被描述的,然而这个过程可以在任何系统中被实行,而并不限于图1和图2所示的情景。附加地,图3中的流程图显示了在其中过程的诸阶段以特定的次序(如由连接各方块的线条所指示的)被实行的例子,但是这个图中显示的各个阶段可以以任意的次序、或者以任意的组合或子组合被执行。在302,事件处理代码可以被包括在工具栏中,其中处理程序响应于“装载”事件而被调用。在303,消息发送代码被包括在页面中。例如,图2中所示的、使得特定的URL被加载到不可见的内嵌框架中的代码可以被包括在页面中。在304,页面可以被提供到浏览器在其上执行的计算机,以使得页面可以被加载到浏览器中。因此,当页面中的消息发送代码被调用时,其生成装载事件,装载事件使得工具栏中的事件处理代码被调用。在306,在页面中发生使得该页面发送消息的动作。任意类型的动作可以使得消息被发送。一些示例性的动作在下面316-322处被描述。携带要被发送的消息的URL可以被创建。在302处被包括的代码在308处执行,由此使得载有消息的URL被加载到内嵌框架中。

在310,URL到内嵌框架中的加载使得内嵌框架生成装载事件,装载事件调用工具栏中的处理程序。在312,处理程序从URL中提取消息。在314,处理程序然后可以执行附加的代码以执行进一步的动作。在一个例子中,被执行的进一步的动作是基于消息的,以使得不同的消息导致不同的动作被执行。然而,在另一个例子中,仅仅将URL加载到内嵌框架中以输送消息,在这种情形中,URL不包含消息字符串,或者(如果其确实包含消息字符串)消息字符串可以被处理程序忽略。(应当指出,如果用户的浏览器没有工具栏,或者没有被装配来以这里描述的方式接收通信的工具栏,则由内嵌框架执行的动作将没有不利影响。)。工具栏可以被使用来响应于来自页面的消息而执行任意的动作。然而,在316-322,显示了各种示例性动作和情景。一种示例性情景(在316)是页面包含游戏,以及页面发送到工具栏的消息指令工具栏在用户可能在或可能不在同一页面时在某个未来时间显示关于用户在游戏中要执行某种动作的提醒。例如,游戏可能是面向农业的角色扮演游戏,以及实施游戏的页面可能想要周期性地提醒用户浇灌他或她在游戏中的虚拟庄稼。在这种情形中,页面可以使用以上描述的技术向工具栏发送“在X小时后浇灌庄稼”的消息。工具栏可以通过执行如下的代码来对此消息进行响应,即所述代码使得诸如“浇灌你的庄稼”这样的消息在规定的时间后被显示在工具栏上。在这个例子中,工具栏将基于定时器到期而采取行动。另一个示例性情景(在318)是更新用于显示游戏中玩家的成就(achievement)的读出器。例如,如果页面实施游戏并且包括用来保存玩家的得分的代码,则工具栏可能想要以某种方式显示成就级别,以使得即使游戏正在其中被玩的选项卡是隐藏的或者玩家已经导航离开所述页面,玩家也可以看到他或她做得有多好。(图1显示了这样的成就指示的例子四颗星和词语“大师级别”指示用户在图1中显示的游戏中的成就级别。)在这种情形中,当玩家的得分在页面上改变时,得分的改变可以是使得消息发送代码被调用的动作。页面然后可以创建描述要被显示的成就级别的URL。例如,参照图1的例子,消息可以是“四颗星大师级别(“four_stars_master_class”)”,其可以被包括在 URL “http://www. example.com/q=four_stars_master_class”中。事件处理程序可以包含能解码这个消息并能在工具栏上显示适当的成就级别的代码。再一个示例性情景(在320)正更新账户余额。例如,页面可以是购物网站和/或支付服务的操纵盘(dashboard),以及用户在账户上具有一定量的存款(例如,用于小额支付账户的货币余额、或用于奖励账户的奖励点余额)。工具栏也可以显示当前的余额,这样即使包含操纵盘的选项卡被隐藏,用户也可以看见余额。当用户进行支付时,在操纵盘上显示的余额可以更新,这可以使得操纵盘通知工具栏也更新其对余额的显示。因此,页面可以构成包含新的余额的消息,以及页面中的消息发送代码可以使得这个消息被发送到工具栏。工具栏然后可以更新它的余额记录,且因此可以在工具栏上向用户显示他或她的当前余额。再一个示例性情景(在322)是其中工具栏可以确定特定的应用是否被安装(或者安装在工具栏自身中,或者安装在用户机器上的其它地方),以及页面想要知道是否安装该应用。例如,页面可以尝试通过向用户显示针对某个应用的宣传(promotion)来鼓励安装所述应用。然而,页面可能不想向已经安装此应用的用户宣传该应用。因此,页面可以包含用于有条件地挑选是否显示消息“现在下载X应用”的代码。所述代码根据X应用是否已经安装在用户的机器上而决定是否印出(print)这个消息。因此,页面向工具栏发送请求查明该应用是否被安装的消息。工具栏可以采取的行动是确定所述应用是否被安装,然后将指示该应用是否被安装的消息发送回页面。页面然后可以根据它接收到的响应来显示或不显示所述消息。如以上讨论的,被使用来允许页面到工具栏的通信的相同技术可以被使用来允许工具栏到页面的通信,由此允许工具栏回答页面的查询。(附加于这里描述的技术,允许工具栏到页面的通信的任何其它技术可以被工具栏使用来回答所述页面的查询)。图4显示了在其中可以部署这里描述的主题的诸多方面的示例性环境。计算机400包括一个或多个处理器402和一个或多个数据记忆组件404。处理器402典型地是微处理器,诸如在个人台式计算机或膝上型计算机、服务器、手持式计算机、或另外种类的计算设备中发现的那些微处理器。数据记忆组件404是能够短期或长期存储数据的组件。数据记忆组件(们)404的例子包括硬盘、可拆卸盘(包括光盘和磁盘)、易失性和非易失性随机存取存储器(RAM)、只读存储器(ROM)、闪存、磁带等等。数据记忆组件(们)是计算机可读存储介质的例子。计算机400可以包括显示器412或与其相关联,显示器412可以是阴极射线管(CRT)监视器、液晶显示(LCD)监视器、或任何其它类型的监视器。软件可以被存储在数据记忆组件404中,并且可以在一个或多个处理器402上执行。这样的软件的例子是页面和工具栏通信软件406,其可以实施上面结合图1-3描述的功能性中的一些或所有功能性,然而可以使用任意类型的软件。软件406例如可以通过一个或多个组件被实施,所述组件可以是分布式系统中的组件、单独的文件、单独的函数、单独的对象、单独的代码行等等。在其中程序被存储在硬盘上、被加载进RAM、并在其处理器上被执行的计算机(例如,个人计算机、服务器计算机、手持式计算机等等)代表图4中描绘的情景,然而这里描述的主题并不限于这个例子。这里描述的主题可以被实施为存储在数据记忆组件404中的一个或多个中并且在处理器402中的一个或多个上执行的软件。作为另一个例子,所述主题可以被实施为存储在一个或多个计算机可读介质上的指令。这样的指令当被计算机或其它机器执行时可以使得计算机或其它机器执行方法的一个或多个动作。用来执行动作的指令可被存储在一个介质上,或者可以被散布在多个介质上,这样使得指令可以共同地出现在一个或多个计算机可读介质上,而不管所有的指令是否碰巧在同一个介质上。术语“计算机可读介质”不包括信号本身;也不包括只作为传播信号存在的信息。应当理解,如果这里的权利要求指的是只以传播信号的形式而不是在任何类型的持久性存储装置中承载信息的介质,则这样的权利要求将使用术语“瞬时的”或“短暂的”(例如,“瞬时的计算机可读介质”、或“短暂的计算机可读介质”)。除非权利要求明显地将介质描述为“瞬时的”或“短暂的”,否则这样的权利要求不应当被理解成描述只作为传播信号或只作为信号本身存在的信息。另外,应当指出,“硬件介质”或“有形介质”包括以物理的有形的形式存在的设备,诸如RAM、R0M、闪存和盘;这样的“硬件介质”或“有形介质”本身不是信号。而且,“存储介质”是用来存储信息的介质。术语“存储”被使用来表示数据的持久保持。为了这里的主题的目的,仅仅以传播信号的形式存在的信息不被认为是“持久地”保留的。因此,“存储介质”包括盘、RAM、R0M等等,但不包括仅以传播信号的形式存在的信息,因为这样的信息没有被“存储”。另外,这里描述的任何动作(不管在图上是否被显示)可以作为方法的一部分被处理器(例如,处理器402中的一个或多个)执行。因此,如果在这里描述动作A、B和C,则可以执行包括动作A、B和C的方法。而且,如果在这里描述A、B和C的动作,则可以执行包括使用处理器来执行A、B和C的动作的方法。在一个示例性环境中,计算机400可以通过网络408通信地连接到一个或多个其它设备。在结构上可以类似于计算机400的计算机410是可被连接到计算机400的设备的例子,然而其它类型的设备也可以被如此连接。尽管本主题是以特定于结构特征和/或方法动作的语言被描述的,但是应当理解在所附权利要求中限定的主题不是必然地局限于上述的特定特征或动作。相反,上述的特定特征和动作是作为实施权利要求的示例性形式而公开的。
权利要求
1.一种在网页和浏览器工具栏之间通信的方法,所述方法包括订阅(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.一种用于在网页和浏览器工具栏之间进行通信的系统,所述系统包括存储器(404);处理器(402);网页(108),其被存储在所述存储器(404)中,并被加载进浏览器(100)中,所述网页 (108)包括内嵌框架(114),所述网页(108)还包括使得所述内嵌框架(114)加载统一资源定位符(URL)的第一代码(210),当所述URL被加载进所述内嵌框架(114)时,所述内嵌框架(114)生成装载事件;和工具栏组件(116),其被存储在所述存储器(404 )中,以及在所述处理器(402 )上执行, 所述工具栏组件(116)被安装在所述浏览器(110)中,所述工具栏组件(116)订阅所述内嵌框架(114)的所述装载事件并使得所述工具栏(116)中的第二代码(212)响应于所述装载事件来执行,所述第二代码执行动作。
7.权利要求6的系统,所述内嵌框架是所述浏览器并不显示的不可见的内嵌框架。
8.权利要求6的系统,所述URL包括所述网页发送到所述工具栏的消息,所述第二代码基于所述消息执行所述动作。
9.权利要求6的系统,所述网页提供游戏,所述网页将消息包括在所述URL中并将所述消息发送到所述工具栏,所述消息指令所述第二代码去设置定时器,并且响应于所述定时器的到期而在所述工具栏上向所述游戏的玩家显示在所述游戏中执行动作的提醒。
10.权利要求6的系统,所述网页提供游戏,所述网页保存玩家在所述网页上的得分, 所述网页将消息包括在所述URL中并且响应于所述得分的改变而将所述消息发送到所述工具栏 ,所述消息包括所述得分,所述第二代码响应于接收到所述消息而在所述工具栏上改变成就的视觉指示。
全文摘要
网页可以发起与浏览器工具栏的通信。在一个例子中,网页包含不可见的内嵌框架、以及使得内嵌框架加载特定的统一资源定位符(“URL”)的代码。当内嵌框架加载所述URL时,它生成装载事件。所述工具栏可以订阅内嵌框架的装载事件,以及可以包含针对该事件的处理程序。当页面想要向工具栏发送消息时,页面将消息添加到URL,然后执行使得内嵌框架加载所述URL的代码,由此生成装载事件。工具栏中的处理程序接收装载事件,并从所述URL中提取消息。所述处理程序然后可以响应于所述消息而执行附加的代码来执行动作。
文档编号G06F9/54GK103049338SQ20121056865
公开日2013年4月17日 申请日期2012年12月21日 优先权日2011年12月21日
发明者B.雷斯勒, G.尼克洛夫, S.库里, P.蒙塞尔 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1