通过网络浏览器输入内容至应用程序的制作方法

文档序号:6348747阅读:537来源:国知局
专利名称:通过网络浏览器输入内容至应用程序的制作方法
通过网络浏览器输入内容至应用程序
背景技术
第三方程序要求输入方法具有插件功能以便输入方法能够将第三方组件添加到输入系统中以扩展在特定场景中的输入体验。这进一步促进了在运送完输入方法核心二进制之后用于添加更多的输入特征为服务的可扩展性。这一插件组件需要具有用于与后端数据源通信的用户界面(UI)外观和行为,该后端数据源可以在本地计算机中或者位于远程服务器。此外,这些插件组件需要被下载并且必须是可简单安装的,并且在新版本可用时需要适当地被更新。

发明内容
下面提供了简化的概述,以便提供对此处所描述的一些新颖实施例的基本理解。 本概述不是详尽的概述,并且它不旨在标识关键/重要元素或描绘本发明的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更详细描述的序言。所公开的体系结构允许标记语言(例如HTML)页面便于将内容(例如文本)插入到输入方法附属于的应用程序中。采用这种方式,插件开发者可以使用网页语言(例如 HTML)来实现任何用户界面(UI)外观和行为,并且正如规则的网页使用合适的技术能做的一样,与后端数据源通信。由于网页被存储在网络服务器中并且在运行中被下载到客户端浏览器,因此安装是最小的并且用户可以自动地使用最新的版本。在一个实施例中,实现了从嵌入在网页的HTML中的代码处接收指令的代理组件。 客户端浏览器(或者用于处理网页的其它合适的应用程序)接收网页,运行嵌入在HTML中的代码(例如诸如javascript之类的脚本)。因此,代理组件可以由URL协议处理器机制从HTML页面的代码中调用。此外,代理组件可以被自身安装为客户端系统的一部分。例如,考虑插件开发者想要实现将软件键盘特征添加到输入方法和/或相关应用程序的输入方法插件组件。开发者可以用代码编写HTML页面以示出范围从‘a’到‘ζ’的按键。当用户打开HTML页面并且选择页面上的按键时,对应的字母被插入到客户端计算机中运行的应用程序中。由于这是HTML页面,因此开发者可以用所需的装饰任意地布局按键。 随后,当选择添加更多的特征至插件(例如添加更多插入单词而不是字符的按键)时,开发者简单地更新位于网络服务器处的HTML页面。例如,用户通过客户端浏览器将自动地接收新版本(更新)。为了为实现上述及相关目的,本文结合下面的描述和附图来描述某些说明性方面。这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。结合附图阅读下面的详细描述,其他优点和新颖特征将变得显而易见。附图简述

图1示出依照所公开的体系结构的计算机实现的内容系统。图2示出在便于经由网络文档的内容输入的组件和实体之间通信的流程图。图3示出用于添加附加的功能至应用程序的第一客户端配置。
图4示出用于添加附加的功能至应用程序的第二客户端配置。图5示出经由浏览器输入内容到应用程序中的内容方法。图6示出图5的方法的其它方面。图7示出图5的方法的其它方面。图8示出依照所公开的体系结构便于经由浏览器输入内容至应用程序的计算系统的框图。图9示出便于通过浏览器输入内容至应用程序的计算环境的示意框图。
具体实施例方式所公开的体系结构允许标记语言(例如HTML)页面便于将内容(例如文本串、对象、音频、视频等)插入到输入方法附属于的应用程序中。采用这种方式,插件开发者可以使用网页语言(例如HTML)来实现任何UI (用户界面)外观和行为,如规则的HTML页面所能的一样与后端数据源通信,以及使用合适的技术来实现这一方式。由于网页被存储在网络服务器中并且在运行中被下载到客户端,因此安装是最小的并且用户可以容易和自动地获取最新的版本。代理组件被实现在客户端上,并且接收由嵌入在网页的标记语言中的代码的执行所产生的数据。通过添加额外的代理组件至客户端系统,可以为对应的客户端应用程序在客户端系统上调节更多的数据类型。现在将参考附图,全部附图中相同的标号用于表示相同的元素。在下面的描述中, 为了进行说明,阐述了很多具体细节以便提供对本发明的全面理解。然而,显而易见,可以在没有这些具体细节的情况下实施各新颖实施例。在其它情况下,以框图形式示出了公知的结构和设备以便于描述它们。本发明将涵盖落入所要求保护的主题的精神和范围内的所有修改、等效方案和替换方案。图1示出依照所公开的体系结构的计算机实现的内容系统100。系统100包括附属于应用程序104的输入方法组件102以为应用程序104提供基本输入方法功能106,以及用于接收导致添加由数据110提供的附加功能114(例如输入方法功能)的网络文档112 的数据110的代理组件108,该附件功能114通过处理网络文档112中的嵌入代码116被间接地提供给应用程序104。网络文档112可以是包括嵌入代码116的网页,该嵌入代码116在执行时生成数据110。嵌入代码116可以用任意合适的程序设计语言(例如脚本语言)编写并且被嵌入在诸如HTML之类的标记语言中。网络文档112可以被存储在网络服务器上并且被下载到客户端浏览器118,该客户端浏览器118处理或导致处理嵌入代码116以生成数据110以及因此的附加输入方法功能114。一般而言,网络文档112基于用户与网络文档112的交互来便于自动补充应用程序104的附加功能114(如数据110)。附加功能114的产物(例如文本、图像等)然后被提供给应用程序104。可以使用URL(统一资源定址器)协议处理器机制从网络文档112中调用代理组件108。例如,附加功能114包括文本以及诸如图像、音频和/或视频等对象中的至少一个。换句话说,计算机实现的内容系统100包括与应用程序104相关的用于向应用程序104提供基本输入方法功能106的输入方法组件102,以及与输入方法组件102相关的用于从输入方法组件102处接收通知的代理组件108,该代理组件108以由网页(例如网络文档112)中的代码116生成的数据的形式向应用程序104提供附加功能114。代理组件108从处理网页中的代码的浏览器处接收数据110。当浏览器118运行调用代理组件108的网页中的代码116时,通过数据110生成附加功能114。代理组件接收与输入方法组件102相关的标识符。代理组件108注册该标识符并且基于注册的标识符来确定数据110的路由。代理组件108便于利用特定数据类型的数据110。此外,代理组件108便于以字符、单词、短语或复杂对象中的至少一个的形式将数据110输入到应用程序 104中,其中应用程序104是语言应用程序。图2示出在便于内容通过网络文档输入的组件和实体之间通信的流程图200。应用程序104可以是在客户端计算机上运行的程序,并且输入方法组件102附属于应用程序 104。代理组件108可以是在客户端计算机上安装和运行的本地代码。流程图200示出,在这一示例中,网络文档是可以由插件开发者创建的HTML页面202。例如,HTML页面202包括用脚本语言编写的图1中的嵌入代码116,以便当浏览器运行代码116时,产生的数据形成由输入方法组件102提供给应用程序104的附加输入方法功能。注意到可以使用其它技术来编写嵌入在HTML中的程序代码。插件开发者可以开发代理组件108并且使用户在本地客户端计算机上安装代理组件108。当特定事件在输入方法组件102中发生时,代理组件108从输入方法组件102处接收通知204。此外,代理组件可以由URL协议处理器206从HTML页面202中调用。数据流可以是单向的,从网络浏览器中的网络文档到代理组件到输入方法组件并且最终到达应用程序。代理组件使用标识符(也被称为票或令牌)来标识哪一个输入方法组件实例以发送数据。代理组件预先知道输入方法组件的标识符。标识符可以从输入方法组件被推送至代理组件。在一个实现中,无论何时应用程序获取用户交互的焦点(或者应用程序窗口移动至前景),应用程序的相关输入方法组件将其标识符(也被称为事件通知)推送至代理组件。附属于任何应用程序的每个输入方法组件可以在任何时候将其标识符推送至代理组件。代理组件记住最后注册的标识符。在任何时候(当没有与从输入方法组件推送至代理组件的事件同步时),可以从网络文档中调用代理组件。当被调用时,代理组件使用最后注册的标识符以定位相关的输入方法组件实例。在网络浏览器中以任何可能的方式预先打开网络文档,诸如响应于从喜爱的URL 列表中的选择、输入方法组件用打开的特定网络文档等来开启网络浏览器。一旦被打开,网络文档可以为所有输入方法组件实例服务。因此,输入方法组件实例和网络文档并不必须是1比1的比率。例如,桌面上呈现的软件键盘的单个实例可以用于与所需的任何应用程序或多个应用程序一起工作。在操作中,当特定事件发生时,输入方法组件102发送通知204(标识符)至代理组件108。代理组件108可以或者不可以用这些事件作为触发来调用HTML页面202。事件包含“票”信息。票信息可以是应用程序104、输入方法102的组件对象模型(COM)接口指针、或者代理组件108能够稍后使用的其它机制的抓手,用于找到适当应用程序(应用程序104)和/或输入方法。换句话说,客户端计算机可以使用多个不同的输入方法组件以及用于特定用途的可兼容代理组件。此处的实施例还描述了具有多个代理组件或者适合于每个客户端应用程序的不同代理的单个输入方法组件的场景HTML页面202可以在网络浏览器中打开并且由浏览器提供。开发者可以编写任何所需的HTML页面从具有适当参数的HTML页面中调用注册的URL协议处理器206。作为响应,代理组件108被开启,并且从HTML页面202处接收参数。由于代理组件108知道连同通知204所发送的票信息,因此代理组件基于通知206中所接收的票数据来通信至应用程序104和输入方法组件102以添加由HTML页面202的数据产生的附加输入方法功能208。一旦代理组件108被安装在客户端计算机上,开发者可以通过对存储在网络服务器中的HTML页面202中嵌入的代码做出改变或改进来改变或改进输入方法组件功能,也就是说不需要应用于客户端计算机的任何更新。这提供了用于自动地更新和部署附加功能的方便和有效的体系结构。注意到提供给应用程序104的内容不限于文本内容。以最简单的形式,用最简单的代理,内容可以是文本串。在更复杂的实现中,代理组件108可以被设计为当从HTML页面 202中调用代理组件108时发送元数据到特定的应用程序,并且响应于接收到元数据,应用程序104可以插入复杂的对象(例如图像)至其本身。本质上,这基于在应用程序104和代理组件108之间的“合约”。如上文所述,多个不同的代理组件可以用于特定的用途。因此,众多不同的数据类型可以被添加至用户系统。HTML和网络浏览技术的使用已经存在于服务器端。当在网络服务器中的HTML中使用脚本并且用户浏览网页时,HTML页面从服务器处被下载到客户端浏览器。客户端浏览器运行嵌入的脚本代码以生成数据。因此,用户不需要安装客户端,而仅需要简单地打开服务器中的HTML页面。代理组件可以在客户端上被安装为本地代码。每当客户端从服务器处下载对应的更新网页时,网页文档中以前下载至客户端浏览器的程序代码可以被自动地更新。代理组件定义数据类型。一旦数据类型被定义并且相关的代理被安装,代理一般将不需要频繁地更新。但是,数据类型的数据可以改变,并且该数据类型的数据生成器(网页中编码的)可以动态地改变。因此,由于通过例如服务器端存储的标记语言(例如HTML) 和脚本语言(例如java script)的方式描述了数据的生成器,该生成器可以被容易地改变。如上文所述,标记语言不限于HTML,而是可以是浏览器中可提供的合适技术。可以被采用的操作系统的一个特征是URL协议处理器。这一技术可以将URL映射到可执行文件(“exe”)。例如,■1^可以有以“11 :”、“11^1忉”或“代?”等开始的格式串。操作系统可以包括传递这一串、检查串的前缀、以及传递控制至注册的可执行应用程序的机制。例如,如果URL以“http:”开始,则操作系统将开启可执行的浏览器。在另一个实例中,如果URL以“mailto:”开始,则操作系统开启消息程序(例如电子邮件)。操作系统还可以包括允许代理组件扩展这一能力的特征,以便可以结合任何可执行文件注册和定义任何前缀串。这一机制用于注册所需的前缀串到代理组件。在HTML页面中,当用户开启具有前缀的这一 URL时,操作系统开启注册的可执行代理。当代理组件被调用时,使用命令行参数,代理组件接收以前缀开始的完整URL串。例如,如果HTML页面包括一些“〈前缀> xyz ”,其中 < 前缀 > 可以是“http ”、“ ftp ”和“mai 1 to,,等,则代理组件接收命令行参数中的“〈前缀> xyz”的串。如果每个HTML页面想要传递串 “xyz”至代理组件,则HTML页面包括“< 前缀>:xyz”。然后代理组件被开启并且接收串“< 前缀>:xyz”,以便代理组件能够通过删除已知的“< 前缀 >:”部分来提取串“xyz “。当代理组件接收串“xyz”时,代理组件和应用程序使用发送和接收串的协议。能够被使用的非常基本的协议是从一个窗口发送字符到另一个窗口的WM_CHAR(用于Windows 操作系统)。如果代理组件发送WM_CHAR消息至应用程序(例如具有参数χ的WM_CHAR,紧接着为具有参数y的WM_CHAR以及具有参数ζ的WM_CHAR),则应用程序接收“χ”紧接着为 “y”紧接着为“ζ”的键盘输入。因此,所有应用程序在接收后可以处理这一消息,并且输入 “xyz”至应用程序正在处理的文档。那就是基本的代理模型。因此,如果需要,可以用不同的协议实现和注册众多不同的代理组件。在更高级的代理模型中,照片、视频、图像、声音等可以被推送至应用程序。在这一例子中,用户应用程序和代理可以使用用于最优操作的预定义的私人协议。在更具体的实现中,可以为具体的客户端应用程序开发定制代理。在客户端机器上可以有众多应用程序,并且每个应用程序与附属的输入方法组件操作,但是代理组件是单个实例。输入方法组件用信号通知代理组件代理组件将发送消息至哪一个应用程序。当用户在众多可能的应用程序中按下按键时,输入方法组件记住用户正在交互的应用程序,并且将该应用程序的操作系统处理发送给代理组件。之后,代理组件使用该处理以发送消息。这仅是一个示例,因为其它方法可以用于标识消息被发送至的应用程序。所公开的体系结构发现对于例如使用合适的键盘上通常不呈现的字符的语言 (例如日语、中文、阿拉伯语、拉丁语等)的特别适用性。在另一个实现中,所公开的体系结构可以用于通过由输入设备(例如鼠标、键盘等)帮助的单个选择来插入单词和/或短语, 这通过键盘是不能达到的。图3示出用于添加附加的功能至应用程序的第一客户端配置300。例如,在第一客户端配置302中,第一输入方法组件304正在被第一应用程序306使用以利用由第一输入方法组件304所提供的基本输入方法功能。在任何时间点,第一输入方法组件304通过对第一代理组件308的通知来注册标识符到第一代理组件308。当启动时,第一网页310调用第一代理组件308。第一网页310包括用程序设计语言(例如javascrpt)编写的以及嵌入
在诸如HTML之类的标记语言中的嵌入代码312。替代地,可以使用其它合适的网络文档语 、
曰ο客户端浏览器从存储用于多种不同用途的网页的网络服务器(未示出)处下载第一网页310。第一网页310在客户端浏览器中打开,并且客户端浏览器运行嵌入代码312。 代码312的执行输出通过协议处理器传递给第一代理组件308的数据。第一代理组件308 然后将数据路由至第一应用程序306以添加用于在第一应用程序306中插入和使用的第一附加输入方法功能310。图4示出用于添加附加的功能至应用程序的第二客户端配置400。这里,单个代理组件402支持用于客户端机器上的两个应用程序和两个对应的输入方法组件的数据类型。 第二输入方法组件404与第二应用程序406相关联(例如附属于),并且第三输入方法组件 408与第三应用程序410相关联(例如附属于)。第二输入方法组件404和第三输入方法组件408向代理组件402注册(发送通知),最后的注册指示活跃的应用程序(例如在用户交互的前景中)。示出两个网页412 第二网页414和第三网页416。当第二网页414由客户端浏览器下载并且处理时,浏览器运行导致调用代理组件402的嵌入代码418。客户端浏览器的代码418的执行生成传递给代理组件402的数据,并且代理组件402基于最后注册的输入方法组件(例如第二输入方法组件404)将数据路由为附加应用程序功能。例如,从第二网页 414传递来的数据可以作为附加应用程序功能422被发送至第二应用程序406。类似地,当第三网页416由客户端浏览器下载并且处理时,浏览器运行导致调用代理组件402的嵌入代码420。客户端浏览器的代码420的执行生成传递给代理组件402 的数据,并且代理组件402基于最后注册的输入方法组件(例如第三输入方法组件408)将数据路由为附加应用程序功能。例如,从第三网页416传递来的数据可以作为附加应用程序功能似4被发送至第三应用程序410。在主体体系结构中可构想,代理组件可以被开发为提供对单个输入方法组件(例如第二输入方法组件404)的支持,以及随后对两个客户端应用程序的支持。应用程序006 和410)以及相关的输入方法组件004和408)是基于客户端的应用程序以及代理组件 402。网页014和416)是基于服务器的以用于方便和有效的更新部署。此处所包括的是一组代表用于执行所公开的体系结构的新颖方面的示例性方法的流程图。尽管出于解释简明的目的,此处例如以流图或流程图形式示出的一个或多个方法被示出并描述为一系列动作,但是可以理解和明白,各方法不受动作的次序的限制,因为根据本发明,某些动作可以按与此处所示并描述的不同的次序和/或与其它动作同时发生。例如,本领域技术人员将会明白并理解,方法可被替换地表示为一系列相互关联的状态或事件,诸如以状态图的形式。此外,并非在方法中示出的所有动作都是新颖实现所必需的。图5示出通过浏览器输入内容到应用程序中的内容方法。在500处,基本输入方法功能被提供给应用程序。在502处,访问包括有关附加应用程序功能的嵌入代码的网页。 在504处,运行网页中的嵌入代码以获取附加应用程序功能。在506处,添加附加应用程序功能到应用程序。图6示出图5的方法的其它方面。在600处,嵌入代码用脚本语言来描述并且嵌入在网页中的标记语言内。在602处,为后续执行更新网页的嵌入代码,并且基于更新的嵌入代码将更新的附加应用程序功能应用于应用程序。在604处,向代理注册提供基本输入方法功能的输入方法,并且基于该注册经由代理将附加应用程序功能路由至应用程序。图7示出图5的方法的其它方面。在700处,响应于与网页的交互,附加应用程序功能被自动地添加至应用程序。在702处,使用跟踪信息在多个应用程序中跟踪与应用程序的交互。在704处,用通知发送跟踪信息给代理组件。在706处,基于跟踪信息,附加应用程序功能被添加至对应的应用程序。如在本申请中所使用的,术语“组件”和“系统”旨在表示计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或者执行中的软件。例如,组件可以是,但不仅限于,在处理器上运行的进程、处理器、硬盘驱动器、多个存储驱动器(光学的、固态和/或磁存储介质)、对象、可执行件、运行的线程、程序,和/或计算机。作为说明,在服务器上运行的应用程序和该服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,并且组件可以位于一个计算机上和/或分布在两个或更多的计算机之间。词语“示例性”此处可用于表示用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。现在参考图8,示出依照所公开的体系结构便于通过浏览器输入内容至应用程序的计算系统700的框图。为了提供用于其各方面的附加上下文,图8及以下讨论旨在提供对其中可实现各方面的合适的计算系统800的简要概括描述。尽管以上描述是在可在一个或多个计算机上运行的计算机可执行指令的一般上下文中进行的,但是本领域的技术人员将认识到,新颖实施例也可结合其它程序模块和/或作为硬件和软件的组合来实现。用于实现各方面的计算系统800包括计算机802,其具有处理单元804、系统存储器806、以及系统总线808。处理单元804可以是各种市场上可买到的处理器中的任一种,诸如单处理器、多处理器、单核单元以及多核单元等。此外,本领域的技术人员将明白,各新颖方法可用其它计算机系统配置来实施,包括小型计算机、大型计算机、以及个人计算机(例如、台式、膝上型等)、手持式计算设备、基于微处理器的或可编程消费电子产品等,其每一个都可在操作上耦合到一个或多个相关联的设备。系统存储器806可以包括易失性(VOL)存储器810 (例如,随机存取存储器(RAM)) 和非易失性存储器(NON-VOL)812(例如ROM、EPROM、EEPROM等)。基本输入/输出系统 (BIOS)可以被存储在非易失性存储器812中,并且包括诸如在启动期间便于在计算机802 内的组件之间传递数据和信号的基本例程。易失性存储器810还可以包括诸如静态RAM等高速RAM来用于高速缓存数据。系统总线808提供了用于包括,但不限于存储器子系统806的系统组件到处理单元804的接口。系统总线808可以是若干种总线结构中的任一种,这些总线结构还可使用各类可购买到的总线体系结构中的任一种互连到存储器总线(带有或没有存储器控制器) 以及外围总线。计算机802还包括存储子系统814以及用于将存储子系统814接口到系统总线 808和其它所需计算机组件的存储接口 816。存储子系统814可以包括例如硬盘驱动器 (HDD)、磁软盘驱动器(FDD)和/或光盘存储驱动器(例如,⑶-ROM驱动器、DVD驱动器)中的一种或多种。存储接口 816可以包括诸如,例如EIDE、ATA、SATA和IEEE 1394等接口技术。一个或多个程序和数据可以被存储在存储器子系统806、可移动存储器子系统 818(例如,闪存驱动器形状因子技术)和/或存储子系统814(例如,光、磁、固态)中,包括操作系统820、一个或多个应用程序822、其它程序模块824以及程序数据826。例如,一个或多个应用程序822、其它程序模块824以及程序数据拟6可以包括图 1中的输入方法组件102、应用程序104、底线输入方法功能106、代理组件108、附加功能 114、数据110、浏览器118、网络文档112以及嵌入代码116,图2中的组件和实体,图4中的组件和实体,以及图5-7的方法中描述的一个或多个动作。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、方法、数据结构、其它软件组件等。操作系统820、应用程序822、模块拟4和/或数据826的全部或部分也可以被高速缓存在诸如易失性存储器810等存储器中。应当明白,所公开的体系结构可以用各种市场上可购得的操作系统或操作系统的组合(例如,作为虚拟机)来实现。存储子系统814和存储器子系统(806和818)用作用于数据、数据结构、计算机可执行指令等的易失性和非易失性存储的计算机可读介质。计算机可读介质可以是可由计算机802访问的任何可用介质,且包括易失性和非易失性介质、可移动和不可移动介质。对于计算机802,介质容纳适当的数字格式的数据的存储。本领域的技术人员应当明白,可以使用其它类型的计算机可读介质,诸如zip驱动器、磁带、闪存卡、磁带盒等,来存储用于执行所公开的体系结构的新颖方法的计算机可执行指令。用户可以使用诸如键盘和鼠标等外部用户输入设备828来与计算机802、程序和数据交互。其它外部用户输入设备拟8可以包括话筒、IR(红外)遥控器、操纵杆、游戏手柄、照相机识别系统、指示笔、触摸屏、姿势系统(例如,眼移动、头移动等)和/或类似物。 在计算机802是例如便携式计算机的情况下,用户可以使用诸如触摸垫、话筒、键盘等板载用户输入设备830来与计算机802、程序和数据交互。这些和其它输入设备通过输入/输出 (I/O)设备接口 832经由系统总线808连接到处理单元804,但也可通过其它接口连接,诸如并行端口、IEEE 1394串行端口、游戏端口、USB端口、IR接口等。I/O设备接口 832还便于使用输出外围设备834,诸如打印机、音频设备、照相机设备等,诸如声卡和/或板载音频处理能力。一个或多个图形接口 836(通常也称为图形处理单元(GPU))提供计算机802和外部显示器838(例如,LCD、等离子)和/或板载显示器840(例如,对于便携式计算机)之间的图形和视频信号。图形接口 836也可作为计算机系统板的一部分来制造。计算机802可以使用经由有线/无线通信子系统842到一个或多个网络和/或其它计算机的逻辑连接在联网环境(例如,IP)中操作。其它计算机可以包括工作站、服务器、 路由器、个人计算机、基于微处理器的娱乐设备、对等设备或其它常见的网络节点,并且通常包括以上相对于计算机802描述的许多或所有元素。逻辑连接可以包括到局域网(LAN)、 广域网(WAN)、热点等的有线/无线连接。LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到诸如因特网等全球通信网当在联网环境中使用时,计算机802经由有线/无线通信子系统842 (例如,网络接口适配器、板载收发机子系统等)连接到网络来与有线/无线网络、有线/无线打印机、 有线/无线输入设备844等通信。计算机802可以包括用于通过网络建立通信的调制解调器或其它装置。在联网环境中,相对于计算机802的程序和数据可以被存储在远程存储器/ 存储设备中,如与分布式系统相关联。应当明白,所示网络连接是说明性的,并且可以使用在计算机之间建立通信链路的其它手段。计算机802可以用于使用诸如IEEE 802. xx标准家族等无线电技术来与有线/ 无线设备或实体通信,例如在操作上安置在与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话的无线通信(例如,IEEE 802. 11空中调制技术)中的无线设备。这至少包括用于热点的Wi-Fi (即无线保真)、WiMax和蓝牙 无线技术。由此,通信可以是如对于常规网络那样的预定义结构,或者仅仅是至少两个设备之间的自组织(ad hoc)通信。Wi-Fi网络使用称为IEEE 802. llx(a、b、g等等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可以用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE 802. 3相关介质和功能)。现在参考图9,示出便于通过浏览器输入内容至应用程序的计算环境的示意框图。 环境900包括一个或多个客户端902。客户端902可以是硬件和/或软件(例如,线程、进程、计算设备)。例如,客户端902可以容纳cookie和/或相关联的上下文信息。环境900还包括一个或多个服务器904。服务器904也可以是硬件和/或软件(例如,线程、进程、计算设备)。服务器904可以例如通过使用本体系结构来容纳线程以执行变换。客户机902和服务器904之间的一种可能的通信可以是以适用于在两个或更多计算机进程之间传输的数据包的形式。例如,数据包可以包括cookie和/或相关联的上下文信息。 环境900包括可以用来使客户端902和服务器904之间通信更容易的通信框架906 (例如, 诸如因特网等全球通信网络)。通信可以经由有线(包括光纤)和/或无线技术来促进。客户端902可以在操作上连接到一个或多个客户端数据存储908,可以使用这些客户端数据存储来存储客户端 902本地的信息(例如,cookie和/或相关联的上下文信息)。同样地,服务器904可以在操作上连接到可以用来存储服务器904本地的信息的一个或多个服务器数据存储910。以上描述的包括所公开的体系结构的各示例。当然,描述每一个可以想到的组件和/或方法的组合是不可能的,但本领域内的普通技术人员可以认识到,许多其它组合和排列都是可能的。因此,该新颖体系结构旨在涵盖所有这些落入所附权利要求书的精神和范围内的更改、修改和变化。此外,就在详细描述或权利要求书中使用术语“包括”而言,这一术语旨在以与术语“包含”在被用作权利要求书中的过渡词时所解释的相似的方式为包含性的。
权利要求
1.一种计算机实现的内容系统(100),包括附属于应用程序的用于向应用程序提供基本输入方法功能的输入方法组件(102);以及用于接收与网络文档相关联的数据的代理组件(108),所述数据添加附加功能给输入方法组件相关的应用程序。
2.如权利要求1所述的系统,其特征在于,所述网络文档是包括在执行时生成数据的嵌入代码的网页,所述嵌入代码用程序设计语言编写并且被嵌入在标记语言中。
3.如权利要求1所述的系统,其特征在于,所述网络文档被存储在网络服务器上,在网络服务器上更新,并且根据需要下载到客户端浏览器以供应用程序更新所用。
4.如权利要求1所述的系统,其特征在于,所述网络文档便于经由网络文档控制将数据受控地输入应用程序中。
5.如权利要求1所述的系统,其特征在于,所述代理组件可以使用URL(统一资源定址器)协议处理器从网络文档中调用。
6.如权利要求1所述的系统,其特征在于,所述输入方法组件发送通知中的标识符给代理组件,为代理组件指示数据将被路由到的相关联的输入方法组件或者应用程序。
7.如权利要求1所述的系统,其特征在于,所述代理组件接收与相应的输入方法组件相关联的多个标识符,所述代理组件注册该标识符并且将数据路由至与最后注册的标识符的输入方法组件相关联的应用程序。
8.如权利要求1所述的系统,其特征在于,所述附加输入方法功能包括文本或复杂对象中的至少一个。
9.如权利要求1所述的系统,其特征在于,所述附加功能在浏览器运行调用代理组件的网页中的代码时从所述数据中生成。
10.一种计算机实现的内容方法,包括向应用程序提供基本输入方法功能(500);访问包括与附加应用程序功能相关的嵌入代码的网页(502);运行网页中的嵌入代码以获取附加应用程序功能(504);以及将附加应用程序功能添加至应用程序(506)。
11.如权利要求10所述的方法,其特征在于,还包括用脚本语言描述嵌入代码以及将代码嵌入网页中的标记语言内。
12.如权利要求10所述的方法,其特征在于,还包括为后续执行更新网页的嵌入代码, 以及基于更新的嵌入代码将更新的附加应用程序功能应用于应用程序。
13.如权利要求10所述的方法,其特征在于,还包括向代理注册提供基本输入方法功能的输入方法,并且基于该注册经由代理将附加应用程序功能路由至应用程序。
14.如权利要求10所述的方法,其特征在于,还包括响应于与网页的交互,自动地添加附加应用程序功能至应用程序。
15.如权利要求10所述的方法,其特征在于,还包括使用跟踪信息在多个应用程序中跟踪与应用程序的交互;在通知中发送跟踪信息给代理;以及基于跟踪信息,添加附加应用程序功能至对应的应用程序。
全文摘要
所公开的体系结构允许标记语言(例如HTML)页面便于将内容(例如文本)插入到输入方法所附属的应用程序中。采用这种方式,插件开发者可以使用网页语言(例如HTML)来实现任何UI外观和行为,正如规则的HTML页面一样与后端数据源通信,以及使用任意合适的技术来执行这一方式。由于网页被存储在网络服务器中并且在运行中被下载到客户端,因此安装是最小的并且用户可以自动地使用最新的版本。代理组件接收由程序设计语言编写并且嵌入标记语言的代码所产生的数据,并且提供另外的任意数据给应用程序。
文档编号G06F9/44GK102362261SQ201080014045
公开日2012年2月22日 申请日期2010年3月19日 优先权日2009年3月25日
发明者K·吉田 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1