Web应用转换和暂时性web应用的制作方法

文档序号:6360858阅读:172来源:国知局
专利名称:Web应用转换和暂时性web应用的制作方法
WEB应用转换和暂时性WEB应用背景技术
近来,业界已经开始关注于将web应用或网站与用户的计算机桌面环境或“桌面” 整合在一起的概念。然而,与之相关的挑战也是存在的。例如,对于网站而言,现今很难为了桌面整合的目的来定义它们的站点的边界。由此,所述边界交由终端用户通过他们自己开发的客户端脚本去定义。由于终端用户未必知道如何构造特定网站,因此,这样做有可能会存在问题。举个例子,终端用户未必知道网站用以向用户提供功能的web属性之间的所有联系、关联或者其他细微差别。相应地,终端用户的脚本未必了解这些联系或细微差别, 由此可能导致产生非预期或破损的用户体验。
此外,用户现今还面临着所谓的双重导入(boot)问题。特别地,用户不得不导入其个人计算机,开启其浏览器,以及最终启动其希望工作时所处的特定web应用。这个问题因为如下事实而变得更严重浏览器能够为用户提供过多分散注意力的事物(例如在浏览器的系统窗口控件(chrome)中出现的那些)以及不允许用户只专注于手头与web应用相关联的特定任务。发明内容
本发明内容部分是为了以简化形式引入精选概念而被提供的,在以下的具体实施方式
部分中将会进一步描述这些概念。本发明内容部分的目的既不是确定被请求保护的主题的关键特征或必要特征,也不是用于限制被请求保护的主题的范围。
不同的实施例提供了一种允许终端用户在客户机设备桌面之类的客户机设备上安装web应用和网站的机制。根据一个或多个实施例,可以使用客户端代码以允许与网站相关联的开发人员定义与用户交互相关联的边界,以及让运行时引擎(run-time engine) 来实施(enforce)这些边界。在至少一些实施例中,开发人员可以通过JavaScript代码来提供各种配置,用于创建开始菜单快捷方式、导航和所谓的跳转列表(jumplist)整合以及多个其他特征。


在整个附图中,相同特征是用相同数字标引的。
图I图示了根据一个或多个实施例的可以使用这里描述的不同原理的操作环境。
图2图示了根据一个或多个实施例的web应用窗口。
图3图示了根据一个或多个实施例的JavaScript API。
图4是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图5是描述根据一个或多个实施例的web应用交互方法中的步骤的流程图。
图6图示了根据一个或多个实施例的客户机桌面的一部分。
图7图示了根据一个或多个实施例的JavaScript API。
图8图示了根据一个或多个实施例在网站与定制(custom)跳转列表之间进行的动态交互。CN 102947792 A书明说2/23 页
图9图示了根据一个或多个实施例的客户机桌面的一部分。
图10图示了根据一个或多个实施例的客户机桌面的一部分。
图11是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图12是描述根据一个或多个实施例的方法的步骤的流程图。
图13是描述根据一个或多个实施例的方法中的步骤的流程图。
图14图示了根据一个或多个实施例的客户机桌面。
图15用图解法图示了根据一个或多个实施例的拖放(drag and drop)操作。
图16是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图17图示了根据一个或多个实施例的客户机桌面。
图18是描述根据一个或多个实施例的安装方法中的步骤的流程图。
图19图示了根据一个或多个实施例的客户机桌面。·
图20是描述根据一个或多个实施例的方法中的步骤的流程图。
图21图示了根据一个或多个实施例的客户机桌面。
图22图示了根据一个或多个实施例的显示网站的浏览器、证书存储器、相关联的web应用以及web应用证书存储器之间的关系。
图23是描述根据一个或多个实施例的方法中的步骤的流程图。
图24是描述根据一个或多个实施例的方法中的步骤的流程图。
图25图示了根据一个或多个实施例的多个web应用实例的示例。
图26图示了根据一个或多个实施例的客户机桌面。
图27是描述根据一个或多个实施例的方法中的步骤的流程图。
图28是描述根据一个或多个实施例的方法中的步骤的流程图。
图29图示了根据一个或多个实施例的客户机桌面。
图30图示了根据一个或多个实施例的客户机桌面。
图31图示了根据一个或多个实施例的客户机桌面。
图32是描述根据一个或多个实施例的方法中的步骤的流程图。
图33是描述根据一个或多个实施例的方法中的步骤的流程图。
图34是描述根据一个或多个实施例的方法中的步骤的流程图。
图35图示了根据一个或多个实施例的web应用与浏览器之间的关系。
图36是描述根据一个或多个实施例的方法中的步骤的流程图。
图37是描述根据一个或多个实施例的方法中的步骤的流程图。
图38图示了根据一个或多个实施例的暂时性(transient) web应用的示例。
图39图示了根据一个或多个实施例的站点模式浏览器。
图40是描述根据一个或多个实施例的方法中的步骤的流程图。
图41图示了可用于实现一个或多个实施例的例示系统。
具体实施方式

综沭不同实施例提供了一种允许终端用户在诸如客户机设备桌面之类的客户机设备上安装web应用和网站的机制。根据一个或多个实施例,可以使用客户端代码以允许与网站相4关联的开发人员定义与用户交互相关联的边界,并且让运行时引擎来实施这些边界。在至少一些实施例中,开发人员可以通过JavaScript代码来提供各种配置,以用于创建开始菜单快捷方式,导航和所谓的跳转列表整合,以及其他特征。
边界可被看作是由开发人员定义的与如何将功能暴露给终端用户相关的体验。边界与网站域是关联的,其中举例来说,所述网站域可以是可以与单独应用相关联的顶级域和子域,或者是在域上托管(host)的网站子集。由此,所述边界可以由一组用以让特定web 应用工作的域、子域、文件夹、子站、协议、主机、路径等等来定义。
在一个或多个实施例中,网站可以选择如上和如下所述的功能。在这种情况下,开发人员可以提供定义了用户使用其网站的体验的边界的代码,其中在一些实例中,所述代码是用JavaScript表述的。作为替换或补充,未选择如上和如下所述的功能的网站可以具有为其提供的默认体验。
在后续论述中提供了标题为“操作环境”的部分,所述部分描述了其中可以使用一个或多个实施例的一个环境。此后,标题为“整合基础结构”的部分描述了根据一个或多个实施例来使得web应用能够被整合到客户机设备中的基础结构。接着,标题为“跳转列表整合”的部分描述了如何可以根据一个或多个实施例来整合所谓的跳转列表。接下来,标题为 “任务栏固定(pin)”的部分描述了如何可以根据一个或多个实施例来将web应用固定在任务栏上。此后,标题为“关联证书和登录会话”的部分描述了如何可以根据一个或多个实施例来关联证书和登录会话。接着,标题为“创建和启动具有相关联的证书的web应用”的部分描述了如何可以根据一个或多个实施例来创建和启动web应用。此后,标题为“web应用任务会话”的部分描述了根据一个或多个实施例的任务会话的概念。接着,标题为“web应用与浏览器之间的转换”的部分描述了如何可以根据一个或多个实施例而在web应用与浏览器之间进行转换。此后,标题为“从浏览器中创建暂时性web应用”的部分描述了如何根据一个或多个实施例来从浏览器中创建暂时性的web应用。接着,标题为“将暂时性web应用变换成所安装的web应用”的部分描述了如何根据一个或多个实施例来将暂时性web应用变换成所安装的web应用。此后,标题为“web应用超级主页按钮”的部分描述了根据一个或多个实施例的与web应用相关联的主页按钮。最后,标题为“例示系统”的部分描述了可以用于实现一个或多个实施例的例示系统。
现在将要考虑其中可以实现一个或多个实施例的例示操作环境。
操作环境图I 一般性地在100图示了根据一个或多个实施例的操作环境。环境100包括具有一个或多个处理器104、一个或多个计算机可读存储媒体106以及一个或多个应用108的计算设备102,其中所述一个或多个应用108驻留在计算机可读存储媒体上,并且可以由一个或多个处理器运行。作为示例而不是限制,计算机可读存储媒体可以包括通常与计算设备相关联的所有形式的易失和非易失存储器和/或存储媒体。此类媒体可以包括ROM、RAM、闪存、硬盘、可移除媒体等等。以下在图41中显示并描述了计算设备的一个具体示例。
此外,计算设备102包括采用web浏览器110的形式的软件应用。可以使用任何适当的web浏览器,浏览器的示例可以从本文档的受让人以及其他各方得到。此外,计算机可读存储媒体106可以包括采用如上和如下所述的方式工作的web应用模式浏览器111。 所述web应用模式浏览器111充当运行时引擎,其中所述引擎分别接收和产生来自和去往网站的API调用,监督web应用安装过程,实施边界以及使能如上和如下所述的功能。在操作中,web应用模式浏览器是关闭了很多正常浏览器功能的完整浏览器的消减版本。在一些实例中,web应用模式浏览器可被看作是不包含众多常见的浏览器控件的“无系统窗口控件(chrome-less)”浏览器。但是,一些命令可以通过微型控制条来暴露。由此,web应用模式浏览器移除了众多会使用户分心的事物,并且允许有管理的、网站定义的用户体验,其中,网站可以对用户如何与其web应用交互进行控制。
在操作中,web应用模式浏览器在逻辑上可被视为驻留在网站与客户机设备的操作系统之间。由此,web应用模式浏览器接收来自网站的调用并且作为响应可以产生操作系统调用,从而影响这里描述的功能。同样,web应用模式浏览器可以接收来自操作系统的且影响网站功能的调用。例如,操作系统暴露了使得能够与桌面任务栏进行交互的API。Web 应用模式浏览器可以接收来自网站的调用,作为响应,所述浏览器可以产生使能任务栏功能的API调用,这一点将会从下文中清楚了解。
Web应用模式浏览器111可以作为独立组件来实现。作为替换或补充,Web应用模式浏览器111也可以作为应用108和/或浏览器110的一部分来实现。
此外,环境100包含诸如因特网之类的网络112以及可从其接收和向其发送内容的一个或多个网站114。如上文和下文所述,这些内容可以包括整合在客户机桌面中或以其它方式可以通过客户机设备使用的内容,例如web应用。
计算设备102可以作为任何适当的计算设备来实施,作为示例而不是限制,所述适当的计算设备可以是台式计算机、便携式计算机、诸如个人数字助理(PDA)之类的手持式计算机、手机等等。
已经描述了例示操作环境,现在考虑论述一种允许将web应用整合到客户机设备中的基础结构。
整合基础结构根据一个或多个实施例,网站可以选择作为更一般的“站点模式”体验的一部分提供的域导航。在用户访问处于特定域内部或外部的链接时,域导航使得网站能够定制他们已有网站的行为。在访问开发人员所规定的边界内部的链接时,内容可以在作为相关联的web 应用的一部分由Web应用模式浏览器再现的web应用窗口内部被再现和消费。在访问开发人员规定的边界以外的链接时,相关联的内容可以在Web应用模式浏览器外部的默认浏览器的内部被再现和消费。这样做允许网站定义应该将什么域视为网站扩展以及哪些不应该。
在一个或多个实施例中,导航域可以由web开发人员定义,并且所述导航域识别链接,其中所述链接的内容是由Web应用模式浏览器作为整合网站的一部分显示的,或者是在web应用模式浏览器以外在默认浏览器中显示的。此外,还可以定义用于将web应用页面的集合关联在一起的默认域参数。
作为示例,设想以下的单行(in-line)域页面定义^contoso. crm. dynamics. com\木;木.microsoft. com\木;
这个域页面定义将会允许在相同的桌面web应用窗口中显示以下形式的URI sales, contoso. crm. dynamics. com\*hr. contoso. crm. dynamics\*木· microsoft. com\crm\
同样,即使链接引用处于桌面web应用窗口内的页面内部,所述域页面定义也会迫使其他URI显示在桌面web应用窗口之外www. bing. com home. live, com
在以上的域页面定义中,在web应用安装API内部使用了通配符。该API通常是在用户选择网站提供的网站整合链接的时候由网站调用的。所述API可以使用桌面、任务栏、 开始菜单或是将被用来启动网站快捷方式的其他任何适当位置的信息和内容来填充web 应用文件或webapp”文件。应该意识到和理解的是,任何适当的文件扩展均可用于指示 web应用文件。导航域和其他边界信息被保存在.webapp文件内。
在启动.webapp文件时,该文件内部的导航域将会由Web应用模式浏览器111实施。用户选择或网站访问的链接继续在web应用窗口内部运行,只要它们与通配符域匹配。 然而,在检测到处于定义的导航域以外的网站时,将会实例化或者以其他方式使用默认浏览器,并且与该网站相关联的内容将会显示在web应用窗口以外以及默认浏览器内部。
作为示例,对图2进行考虑,该示了具有由a. com(202)、b. com(204)和d. com(206)组成的导航域集合的web应用窗口 200,这意味着来自这些域的所有页面全都在web 应用窗口 200内部显示。在从web应用窗口 200内部访问来自c. com(208)或e. com(210) 的页面时,这些页面会在默认的浏览器窗口而不是web应用窗口 200中显示。
图3在300图示了根据一个或多个实施例的JavaScript API。所示出的 JavaScript API使得网站能够将web应用与客户机桌面相整合。该API定义了将由web应用或运行时引擎实施的导航域。在本示例中,导航域是用如上所示的通配符表述来进行描述的。所述API使得能够使用客户机设备上的内容和信息来填充或更新.webapp应用文件 302,以及在所述文件中存储导航域和其他信息。这些导航域是在启动web应用的时候实施的。
在所示出和描述的实施例中,.webapp应用文件302包括网站为其站点模式配置定义的信息。该信息包括开始URL、网站规定的所有导航域、web应用标题以及所谓的网站图标(favicon),其中所述开始URL是web应用模式浏览器显示的初始页面。如下所述,其他信息也是可以包含的。
现在,一旦在客户端启动web应用,则Web应用模式浏览器将会读取web应用文件,并且将会实施其中定义的边界。如上所指出的,由于web应用体验是由能够知道特定网站及其细微差别的开发人员定义的,因此可以提供完整和整合的用户体验。
图4是描述了根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合执行。在至少一些实施例中,所述方法的多个方面是由客户机设备上运行的软件执行的。
步骤400选择网站整合特征。该步骤可以用任何适当的方式执行。通常,所述步骤是在用户选择某种工具或以其它方式来采取动作来启动web应用安装过程的时候执行的。 例如,用户可以选择使得他能够整合web应用的链接。以下提供了如何做到这一点的具体示例。
步骤402在客户机设备上创建一个在这里被标明为webapp”文件的web应用文件。这个初始创建的文件可以构成一个随后用接收自网站或是代表网站接收的内容和信息填充的人工制品(artifact)或外壳(shell)。步骤404使用web应用内容来填充web应用文件。该步骤可以用任何适当的方式来执行。例如,该步骤可以通过使用在上文和下文中提供了示例的JavaScript API来执行。作为替换或补充,该步骤可以通过使用HTML之类的标记(markup )来执行。
如果在客户机上创建了 web应用文件并且使用内容填充了该文件,那么现在可以启动web应用并与之交互。
图5是描述了根据一个或多个实施例的web应用交互方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由在客户机上运行的软件以及在支持网站的服务器上运行的软件执行的。 相应地,该图的一列被标明为“客户机”,以便标明这些步骤由客户机执行或是在客户机上由例如web应用模式浏览器执行,此外还有一列被标明为“网站”,以便标明这些步骤由网站执行或是代表网站执行。
步骤500接收对站点模式的用户选择。该步骤可以用任何适当的方式执行。例如, 安装在客户机桌面上的快捷方式可用于接收站点模式选择。响应于接收到站点模式选择, 步骤502请求开始URL。所述开始URL可以在上述web应用文件中被找到。
步骤504接收开始URL请求。步骤506向客户机返回包含与开始URL相关联的内容的相关web资源。
步骤508接收相关联的web资源,步骤510则在web应用窗口中再现web资源。如上所述,web应用窗口是由Web应用模式浏览器再现的。步骤512接收与web应用窗口中再现的资源有关的用户交互。所述用户交互可以包括任何适当类型的用户交互。例如,用户交互可以包括源于web应用窗口内部的导航活动。步骤514确定用户交互是否处于web 应用文件定义的边界以内。如果用户交互处于web应用文件定义的边界以内,则步骤516 在web应用窗口中再现与用户交互相关联的内容。另一方面,如果用户交互不在web应用文件定义的边界以内,则步骤518会在默认的web浏览器中再现与用户交互相关联的内容。
通过这种方式,可以实施网站开发人员定义的特定网站的边界,以便确保保持用户体验为开发人员所预期的用户体验。例如,网站定义的开始URL是主页,并且在web应用模式中对主页的后续访问将会导航至开始URL,而不是用户初始定义的浏览器主页。这样做允许快速访问web应用特定的页面,而不是一些不相关的主页。该处理缓解了终端用户的如下痛苦即,必须定义他们自己的站点特定的体验,而这有可能正确工作,也有可能不正确工作。因此,完整、整合并被智能管理的体验可被提供给终端用户。
已经描述了例示的安装和交互体验,现在将要考虑跳转列表整合的概念。
跳转列表整合在一个或多个实施例中,在可用于与网站交互的桌面整合过程中,开发人员可以使得网站能够定义一系列的所谓的跳转列表任务。此外,在至少一些实施例中,网站可以创建和更新定制跳转列表。
跳转列表可被认为是构成呈现给用户的一组相关任务或内容的列表。通过跳转列表,网站可以向用户推广相关和有用信息的精华。所述跳转列表与特定web应用的能力或功能相关。例如,用于电子邮件应用的跳转列表可以包括给予用户打开联系人、创建新电子邮件消息等能力的任务。在一些情况中,跳转列表可以包括相关的以及最常用的命令和数据的列表。
在一个或多个实施例中,跳转列表功能可以被实现为包含静态元素和动态元素这两者。
如上所述,开发人员可以在填充web应用文件的web应用安装过程期间定义静态元素。与静态元素关联的设定可以保存在web应用文件内。在一个或多个实施例中,所述设定可以包括列表名称以及相关联的任务。在至少一些实例中,静态元素可以构成表示常用功能的元素。
与动态元素相关联的设定可以是由在web应用窗口内部运行的网站页面驱动的。 这些设定包括向用户动态暴露可辨别的标记的设定。例如,一个设定可以将一个项目添加至定制跳转列表,一个设定可以显示在下文中提供示例的覆盖图标。在至少一些实施例中, 所述动态设定可以在每次启动web应用的时候被清除,并且可以通过web应用脚本代码来配置。
作为根据一个实施例的定制跳转列表的示例,考虑图6,该图一般性地在600图示了客户机桌面的一部分。定制跳转列表602根据一个或多个实施例被暴露。在这里,静态元素在604示出,动态元素则是在606示出。在该示例中,静态元素列表名称是“任务”,并且所述任务或静态元素包括“新电子邮件消息”、“新约会”、“新联系人”以及“新任务”。动态元素列表的名称是“今天”,并且在该示例中,任务或动态元素包括从用户日程表中产生的提醒。这些动态元素是由相关联的网站动态填充的。因此,在该示例中,动态元素或内容与向用户提供通知的处理是关联的,并且通常与用户动作无关。
如上所指出的,跳转列表可以是在桌面整合过程中定义的。这些任务和跳转列表定义可被保存在web应用文件内。作为一个示例,考虑图7,该图在700图示了根据一个或多个实施例的JavaScript API。所示出的JavaScript API使得网站能够与客户机桌面整合以及定义跳转列表。除了存在“定制任务”和“定制跳转列表”之外,这个JavaScript API 可以与参考图3描述的API是相同或相似的。为了简洁起见,在这里省略图3的一些内容。 在至少一些实施例中,跳转列表任务的静态列表的初始创建可以用标记定义,例如使用在 HTML文件内部定义的HTML标记符(tag)。
举个例子,下面考虑使用元标记符来描述静态列表功能的示例〈META name=〃msapplication-task〃content=〃name=Task; uri=http://marap/test3. html;icon-uri=http://marap/icon3. ico〃/>
在一个或多个实施例中,在执行任务的时候存在一个耦合选项。例如,与任务关联的URL可以在包含当前查看的网页的相同web应用/浏览器窗口内部打开。作为替换或补充,新的页面可被启动。作为替换或补充,可以显示新的弹出窗口。
在系统定义并读取了这些参数以后,在用户将网站安装至其桌面的时候可以使用这些参数,其中举例来说,所述网站是通过将其添加至开始菜单或固定在任务栏上而被安装的,这将在下面进行描述。同时,在至少一些实施例中,有一组动态值是可以由跳转列表上的网站客户机代码操纵的。
网站使用“定制任务”来定义如上所述的静态任务。在该示例中,静态任务是新消息的静态任务。所述API在桌面上创建一个.webapp应用文件702,并且存储导航域(与图3的示例一样)及其他信息,例如与跳转列表相关联的信息。在所示出和描述的实施例中,.webapp应用文件702包括网站已为其站点模式配置定义的信息。该信息包括开始URL、网站已规定的所有导航域(没有特别示出)、web应用标题以及所谓的网站图标。其他信息包括与如上所述的新消息相关联的定制任务以及“定制列表”。在该示例中,定制列表元素是当在客户机上运行web应用的时候可以由网站动态填充的动态元素。在这里,“朋友”名称包含与动态内容相关联的报头。因此,在该实例中,如果用户的朋友在线,那么动态内容将会与向用户提供通知的处理相关联。在这里,定制列表是并非驻留在web应用中的单独API。然而,所述定制任务驻留在web应用中。在操作中,在web应用运行的时候可以预取并缓存与静态元素相关联的项目。另一方面,网站可以在web应用运行的时候边工作边提供与动态元素相关联的项目。作为如何边工作边向web应用提供与动态元素相关联的项目的实现示例,考虑图8。
图8图示了网站如何能够与定制跳转列表动态交互从而允许用户知道消息已经到达。在该示例中,JavaScript 800图示了网站如何可以向在Web应用模式浏览器中托管的页面发送更新。在浏览器中运行的客户端代码负责接收更新,更新屏幕上的内容,以及向跳转列表发送请求来更新其列表。在该示例中,网站能将信息推送给跳转列表,以便提供实时体验。在这里,当网站接收到例如新消息O (New Message O)和新消息I (New MessageO之类的新消息时,可以从web应用产生一个JavaScript调用,以便更新跳转列表802。在至少一些实施例中,在任务栏804中可以出现一个通知,以便向用户告知接收到了相关信息。所述通知可以出现在任务栏中的任何适当位置,并且可以包括任何适当类型的通知。例如,所述通知可以出现在与web应用相关联的图标806之中或是其周围。作为替换或补充,该通知可以闪烁,以便吸引用户的注意。作为一个示例,考虑图9。其中一般性地在900图示了客户机桌面的一部分。任务栏901包括与当前web应用相关联的图标902。在这里,应该注意的是,在图标902的内部已经再现了覆盖图标904。在该示例中,用户已接收到一个新消息,并且如上所述,网站已调用web应用而引发在图标902内再现所述覆盖图标904。这向用户提供新消息业已到达的通知。响应于看到覆盖图标904,用户可以访问跳转列表905,以便暴露指示当前正在或即将发生的约会的元素908。此外还应该注意,元素906同样会被暴露。JavaScript摘录910图示了可用于更新覆盖图标的代码的一个示例。网站与web应用之间的动态交互可以采用其他不同的方式进行。例如,在至少一些实施例中,响应于与网站相关的用户动作,可以从网站向跳转列表推送一个预览窗口。在所示出和描述的实施例中,该预览窗口是由网站提供的微型视图。所述预览窗口可以是响应于任何适当类型的用户动作提供的。例如,在至少一些实施例中,预览窗口可以是响应于鼠标悬停在与网站相关联的任务栏图标上而被从网站推送至跳转列表的。作为替换或补充,所述预览窗口可以是通过将光标置于web应用的任务栏图标上以及通过左键点击而被提供的。作为一个示例,考虑图10。其中一般性地在1000图示了客户机桌面的一部分。任务栏1001包括与当前web应用相关联的图标1002。在这里应该注意,用户将其光标放在了图标1002上。作为响应,预览窗口 1004已被再现。在操作中,响应于用户将其光标放在图标上的动作 ,一个事件将被传送至网页。然后,响应于对所述事件的接收,网页可以动态地提供预览或引发再现缓存的预览窗口。在至少一些实施例中,网站还可以使用预览窗口来定义工具栏按钮以及相关联的行为。例如,在所示出和描述的实施例中,web应用包括媒体播放器应用,并且在覆盖于预览窗口 1004之上的用户界面工具1006中出现三个工具栏按钮。这些按钮包括暂停按钮、停止按钮以及播放按钮。在至少一些实施例中,所述工具栏按扭可以用客户端代码来实现,其避免了必须与远端服务器进行交互。例如,个别按钮可以是为特定网页注册的。每一个按钮都被配置和指定了一个ID。为所有按钮事件注册一个“监听器”。当按下按钮时,将会产生一个事件,并且所述事件将被反向传递至浏览器,然后,浏览器会将该事件传播至已注册的事件监听器。所述事件包含被按下的按钮。这样做使得能够消除按钮的歧义。实现示例
在实现示例中,web开发人员可以使用以下的JavaScript功能来更新跳转列表中的定制列表和更新任务栏覆盖图标。列表创建行为
该行为定义作为定制列表标题的列表名称。这个值将被显示成列表标题。可选地,初始可以提供包含项目名称、项目的URI值以及与项目相关联的图像的项目列表来填充所述列表。当在web应用模式中启动浏览器时,可以支持所述功能。列表更新行为
列表项目值被提供用来更新特定列表项目。所述列表项目值包括项目名称、项目的URI值以及与项目相关联的图像。当在web应用模式中启动浏览器时,可以支持所述功能。设定覆盖图标
规定一个URI值,该URI值指向将会作为现有任务栏图标的覆盖图使用的图标。当在web应用t旲式中启动浏览器时,可以支持该功能。设定预览图像
规定一个URI,其指向应被作为任务栏预览图像(或缩略图预览)的图片表示使用的图像。所述预览是在用户使用鼠标左键点击任务栏图标的时候显示的。清除覆盖图标
该功能将会移除任务栏图标上的现有覆盖图标。当在web应用模式中启动浏览器时,可以支持该功能。Web开发人员可以使用以下的JavaScript功能来定义和修改在特定网站的任务栏预览窗口中显示的一组工具栏按钮。工具栏按钮安装
按钮ID的列表是用工具提示和图像URL规定的。当用户选择工具栏按钮时,该事件将被传递至网站,以便进行处理。然后,网站可以消除按钮事件的歧义。该调用在打开站点模式窗口以显示按钮的时候被执行至少一次。当在web应用模式中启动浏览器时,支持该功倉泛。更新图像
该功能识别指定按钮ID的状态和可视性。所述状态可以是使能或禁用。在至少一些实施例中,该按钮默认是使能的。所述视图可以是显示或隐藏的。所定义的按钮默认是可视的。当在web应用模式中启动浏览器时,支持该功能。图11是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,该方法的多个方面是由客户机设备上运行的软件执行的。步骤1100选择网站整合特征。该步骤可以采用任何适当的方式执行。通常,该步骤是在用户选择一种工具或以其它方式采取动作来启动web应用安装过程的时候执行的。 举例来说,用户可以选择使得他能够整合web应用的链接。以下提供了如何执行该处理的具体示例。步骤1102在客户机设备上创建一个web应用文件——在这里将其标明为 webapp”文件。这个文件在初始创建时可以构成人工制品(artifact)或外壳,随后,所述
人工制品或外壳可以用接收自网站或是代表网站接收的内容和信息来填充。步骤1104使用web应用内容来填充web应用文件,在本示例中,所述内容包括跳转列表。该步骤可以采用任何适当的方式执行。例如,该步骤可以通过使用以上提供了示例的JavaScript API来执行。作为替换或补充,该步骤的多个方面可以通过使用HTML之类的标记来执行。如果在客户机上创建和填充了 web应用文件,那么现在可以在任何适当的时间启动web应用。图12是描述根据一个或多个实施例的方法的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,该方法可以由客户机上运行的软件与服务器上运行的软件相关联地执行。步骤1200接收与跳转列表相关联的用户动作。可以接收以上提供了示例的任何适当的用户动作。例如,在至少一些实施例中,用户动作可以是关于特别显示的跳转列表或未显示的跳转列表而被接收的。作为替换或补充,用户动作可以是关于所显示的与web应用相关联的图标而被接收的。例如,该图标可以被显示在桌面任务栏中或是其他任何适当的位置。以上提供了这种动作的示例。步骤1202呈现与用户动作相关联的内容。例如,所呈现的内容可以包括跳转列表本身。该跳转列表可以是响应于以上提供了示例的任何适当类型的用户动作而呈现的。所呈现的内容还可以包括跳转列表自身以外的内容。例如,定制预览窗口可以是响应于用户动作而被呈现的,其中举例来说,所述用户动作可以是左键点击任务栏图标。举个例子,用户可以选择创建或撰写新的电子邮件消息。图13是描述根据一个或多个实施例的方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,该方法的多个方面是由客户机上运行的软件以及在支持网站的服务器上运行的软件执行的。相应地,所述图的一列被标明为“客户机”,以便标明这些步骤由客户机执行或是在客户机上执行,一列被标明为“网站”,以便标明这些步骤由网站执行或是代表网站执行。步骤1300接收与动态跳转列表项目相关联的信息。任何适当的跳转列表项目均可作为接收信息的基础,上面已经提供了其示例。步骤1302产生一个通知,并且步骤1304将所述通知传送至运行web应用的客户机设备。步骤1306接收所述通知,并且步骤1308为用户提供可辨别的通知。任何适当类型的可辨别通知都可以被提供。例如,在至少一些实施例中,可辨别的通知可以是能通过视觉辨别的通知,例如覆盖图标或闪烁的web应用图标。作为替换或补充,可辨别的通知可以包括能够通过听觉辨别的通知,例如铃声或蜂鸣声。已经考虑了与跳转列表整合相关联的不同实施例,现在将要考虑讨论如何根据一个或多个实施例来将网站“固定”任务栏之类的桌面特征上。仵备栏固定
有多种不同的web应用可以与客户机桌面或任务栏整合的方式。在至少一些实施例中,web应用可以通过拖放操作来与桌面整合。作为替换或补充,web应用可以借助web浏览器的菜单选择来进行整合。作为替换或补充,web应用还可以通过相关联的网站本身来进行整合。在下文中,这些实施例中的每一个都会在其自己的标题下方被论述。
通过拖放操作来整合
在一个或多个实施例中,web应用可以通过拖放操作来与桌面或任务栏整合。作为一个示例,考虑图14。其中一般性地在1400示出了一个客户机桌面。web浏览器窗口 1402包括地址栏1404,其内显示了一个网站URL。与所述URL相关联显示了名为“网站图标”1406的图标。此外,桌面1400包括任务栏1408。图15用图解法图示了根据一个或多个实施例的拖放操作。在该示例中,光标置于网站图标1406的上方。通过左键点击网站图标并沿着任务栏1408拖曳该图标,可以将相关联的web应用固定在桌面的任务栏1408上,其中在本范例中,所述web应用是消息板应用。所述拖放操作启动了如上所述的整合web应用的整合过程,从而将其固定在任务栏上。在一个或多个实现方式中,如果与web应用相关联的网页具有在浏览器中打开的标签(tab),那么在将网站图标放至任务栏上之后,相关联的标签可以从浏览器窗口中消失。作为替换或补充,所述标签未必会被移除,取而代之,所述标签的内容有可能被“新标签”页面取代。在浏览器窗口中打开单个标签的实例中,在将网站图标固定在任务栏上之后,浏览器窗口将会消失。此时,在浏览器关闭之前但是在固定web应用之后,包含在初始站点中的标签可被移除。另外,在至少一些实施例中,当拖曳操作进入任务栏时,可以呈现“固定到任务栏”形式的工具提示,以便向用户告知固定功能。更进一步,在首次实例化web应用时,固定在任务栏上的网站或web应用的状态可以迁移至新显示的窗口。这样做允许用户不必为了能够使用应用而向该站点重新输入证书。在将网站或web应用固定到任务栏上并完成如上所述的安装过程之后,现在可以通过简单地点击相关联的网站图标来从任务栏启动web应用。图16是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由客户机上运行的软件执行的。步骤1600接收与web应用安装相关联的拖放操作的指示。该步骤可以用任何适当的方式来执行。在以上描述的实施例中,该步骤在用户拖放网站图标之类的与网站相关联的图标的时候被执行,以便向网站指示希望将关联的web应用与其桌面整合。例如,用户可以将网站图标拖放至任务栏、快速启动区域或是桌面上的其他某个位置,例如桌面画布(canvass)ο响应于拖放操作,步骤1602创建一个web应用文件。在所示出和描述的实施例中,初始创建的web应用文件是尚未包含来自相关联的网站的信息的人工制品或外壳,其中举例来说,所述信息可以是跳转列表任务、开始URL、网站图标或其他属性,例如静态跳转列表任务、替换的开始URL、替换的网站图标等等。这些可以在以后通过如上所述的新的标记和/或JavaScript API来添加。应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,除了使用JavaScript API的技术之外的其他技术同样是可以使用的。通过浏览器菜单选择来进行整合
在一个或多个实施例中,web应用可以经由web浏览器的菜单选择来进行整合。作为示例,考虑图17。其中,一般性地在1700显示了一个客户机桌面。web浏览器窗口 1702包括显示了 URL的地址栏1704。此外,桌面1700包括任务栏1706。采用页面菜单形式的浏览器菜单项目1708被显示。通过下拉页面菜单以暴露菜单选择1710,显示出菜单项目或者选择“添加至开始菜单”。通过选择该选项,可以将网站或web应用添加至桌面的开始菜单,并且可以如上所述地启动安装过程。作为替换或补充,可以显示“添加至任务栏”菜单项目或选择,以便使得能够启动安装过程。·
图18是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合执行。在至少一些实施例中,所述方法的多个方面是由客户机上运行的软件执行的。步骤1800接收浏览器菜单选择。该步骤可以采用任何适当的方式执行。在上述实施例中,当用户导航至特定网站,下拉浏览器菜单来暴露菜单选择,然后通过选择与启动安装关联于网站的web应用相关联的菜单项目以采取动作的时候,执行该步骤。步骤1802响应于接收到浏览器菜单选择而创建一个web应用文件。在所示出和描述的实施例中,初始创建的web应用文件是一个尚未包含来自相关联的网站的信息的人工制品或外壳,其中所述信息例如是跳转列表任务、开始URL、网站图标等等。如上所述,这些信息可以在以后通过新的标记和/或JavaScript API来添加。应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,除了使用JavaScript API的技术之外的其他技术同样是可以使用的。通过相关联的网站来讲行整合
在一个或多个实施例中,web应用与桌面的整合可以是从网页发生的。在这些实施例中,特定网站可以通过使用JavaScript之类的代码来选择整合活动,以便将web应用整合到桌面中。这允许网站控制整合启动工具。作为示例,考虑图19。其中,一般性地在1900显示了一个客户机桌面。web浏览器窗口 1902包括其中显示了 URL的地址栏1904。此外,桌面1900包括任务栏1906。更进一步,在浏览器窗口 1902内显示的网页包含标题为“添加至桌面”的链接1908。通过点击该链接,用户可以启动如上所述的web应用安装过程。在至少一些实施例中,在发生了链接选择之后,可以呈现一个对用户正在采取的用户动作以及去哪里访问其新创建的快捷方式进行解释说明的模态确认对话。该确认对话可以向用户呈现正在被呈现的页面的源URL。所显示的URL可以包含网站的完整路径。这可以允许用户核实其希望安装的网站是由正确站点提供服务的。这可以缓解与恶意子目录相关的状况。在不同的实现方式中,检查要与桌面整合的网站的URL以便确认所述URL与包含所述URL的网页处于相同的域。如果不是的话,则可以显示差错,并且该操作可以失败。在用户确认了操作之后,该对话可被移除,并且可以使用正确的URL来显示web应用窗口。图20是描述根据一个或多个实施例的安装方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由客户机上运行的软件执行的。步骤2000显示一个具有整合链接的网页。该步骤可以采用任何适当方式执行,以上提供其示例。步骤2002接收对于整合链接的选择。步骤2004响应于接收到链接选择创建一个web应用文件。在所示出和描述的实施例中,初始创建的web应用文件是一个尚未包含来自关联网站的信息的人工制品或外壳,其中所述信息例如是跳转列表任务、开始URL、网站图标等等。如上所述,这些信息可以在以后通过新的标记和/或JavaScript API来添加。应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,除了使用JavaScript API的技术之外的其他技术同样是可以使用的。在至少一些实施例中,与web应用相关联的多个窗口或标签的视觉表示可被提供给用户。作为示例,考虑图21。其中,桌面2100包括具有web应用图标固定在其上的任务栏2102。通过点击该图标,使用光标来启动web应用。在该示例中,假设用户已使用web应用的开始页面导航至多个页面。所述web应用可以使得能够实现显示了用户所导航到的网页集合2104的可视化。特别地,在该示例中,集合2104包括用于web应用的开始页面2106以及用户从开始页面导航至的后续页面2108和2110。已经考虑了不同的web应用整合技术,现在考虑论述如何可以将用户证书与用于web应用的登录会话相关联。关联证书和登录会话
不同的实施例使得能够以一种跨越web应用的不同实例保持登录或证书信息的方式来整合与使用登录或证书信息的网站相关联的一个或多个web应用。当浏览器导航至使用登录或证书信息的网站时,所述登录或证书信息既可以是手动输入的,也可以是从证书存储器中检索得到的。证书存储器可以包含用户登录信息,作为示例而不是限制,所述用户登录信息可以是用户名和口令或用于特定URL的用户证书。相同的URL或网站可以具有多个条目,并且每一个条目都与不同用户相关联。同样,证书存储器可以包含用于多个URL的用户登录信息或证书。在至少一些实施例中,与用户登录的网站相关联的web应用可以采用如上所述的方式整合在桌面上并进行交互。在整合此类web应用时,所述web应用与什么网站相关联以及登录至该网站的用户将会通过一个过程来确定。该过程搜索证书存储器来找出相关联的登录信息和/或证书。然后,该过程可以在用户、所创建的web应用以及相关证书之间创建关联。作为示例,考虑图22,该示了根据一个或多个实施例的网站、证书存储器以及web应用之间的关系。浏览器2200显示使用登录信息的网站。除了显示URL之外,还显示了一个图标2210,其中如上所述,可以选择所述图标以促成web应用的整合。证书存储器2220包括包含用于多个网站的登录信息的条目。在2230显示了一个这样的条目。在这里,该条目包括网站URL、用户名以及口令。虽然图22将登录信息显示为包含用户名和口令,但是应该意识到和理解的是,其他形式的登录信息或证书也是可以使用的。在一个或多个实施例中,如上所述并且如图标2240所示,图标2210可被选择并被拖放至任务栏2235。该过程将会启动与网站相关联的web应用的整合。在接收到所述选择之后,当前哪一个用户登录至网站将会由一个过程来确定,并且所述过程在证书存储器2220中搜索相关联的证书。然而应该意识到和理解的是,在不脱离请求保护的主题的精神的情况下,相关联的证书是可以用其他方式确定和/或获取的。一旦获取了用户证书和/或登录信息,就在web应用证书存储器2250中进行证书与web应用之间的关联。web应用证书存储器2250可以包括一个或多个条目,其中所述条目包含与网站、web应用以及相关证书之间的关联有关的数据。举例来说,图22图示了被显示为包含用户JiiiA的与网站“a. com”相关的登录信息的条目2260。除了 URL、用户名和口令信息之外,条目2260还包括可用于将web应用关联于相应证书的应用ID或“AppID”。web应用证书存储器2250还包括用于同一网站“a. com”但是不同用户的第二条目2270。该机制允许将来自相同网站的个别的web应用关联于不同用户以及与之关联的证书。
虽然在图22中没有示出,但是不同形式的用户登录信息和/或证书都可以与web应用相关联。举个例子,在一个实施例中,一个关联可以包含向回指向证书存储器2220中的信息的指针或引用。在另一个实施例中,web应用证书存储器2250可以包括拷贝自证书存储器的信息。在再另一个实施例中,与用户名和口令分离或是作为其补充的证书可以与web应用相关联。例如,生物测定信息可以形成在web应用证书存储器中创建的关联的基础。已经描述了网站、证书存储器和web应用之间的关系,现在将考虑如何可以为使用相关联的证书的网站整合web应用。创津和启动具有相关联的证书的web应用
图23图示了描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由客户机上运行的软件执行的。步骤2300接收对于网站整合特征的选择。在上文中已提供了如何执行该处理的示例。如上所述,网站整合特征与web应用在客户机桌面上的安装是关联的。响应于接收到对于网站整合特征的选择,步骤2302将会启动一个如上所述的用于在客户机桌面上安装web应用的安装过程。特别地,如上所述,在客户机上该过程的启动可以包括创建web应用文件。步骤2304获取与关联于网站的当前web会话相关联的会话信息。该步骤可以采用任何适当的方式来执行。例如,在一个实施例中,会话信息可以是在浏览器再现与网站相关联的内容与安装过程之间使用共享存储器组件获取的。在另一个实施例中,在选择了网站整合特征之后,网站可以自动转发会话信息。在再另一个实施例中,会话信息可以由浏览器存储,并且后续可以对其进行查询。响应于获取了会话信息,步骤2306获取与会话信息相关的证书。在一个实施例中,可以在证书存储器中查询与用户登录的网站相关的登录和/或证书。例如,可以在证书存储器中查询与当前会话的网站及用户相关联的用户名和口令。步骤2308将与会话信息相关的证书和/或登录信息关联于一个web应用。该步骤可以采用任何适当的方式执行。例如,证书可被拷贝至web应用证书存储器,以便在以后进行参考。作为替换或补充,可以在web应用证书存储器中放置指向证书存储器中的证书的指针或引用。标识数字可以至少部分基于会话信息和/或证书产生,以便为web应用的每一个实例以及相关的证书和/或登录信息创建唯一 ID。所述信息可被添加至web应用证书存储器条目,以便将所获取的证书和/或登录信息关联于web应用。然而应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,任何适当的技术均可用于将证书与web应用相关联。如上所述,每一个web应用实例的唯一 ID允许将web应用的多个实例关联于相同的URL或网站,其中每一个实例都与不同的用户证书相关联。图24是描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以由任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法的多个方面是由客户机上运行的软件执行的。步骤2400接收对于待启动web应用的选择。该步骤可以采用任何适当的方式来执行。举个例子,如上所述,可以从图标固定于其上的任务栏进行图标选择。作为替换或补充,选择可以是从桌面开始菜单或系统工具栏做出的。一旦接收到对于待启动的web应用 的选择,步骤2402将会检索与web应用相关联的证书。例如,在一个或多个实施例中,可以使用AppID来参考web应用证书存储器,以便检索当前登录的用户的登录信息。步骤2404检索与web应用以及相关证书相关联的URL和/或FormID (表单ID)。一旦获取了步骤2402和2404中描述的信息,步骤2406会在用户未干预的情况下自治地登录至相关联的网站。在登录到该网站之后,如先前所述,步骤2408将会导航至开始URL。已经描述了如何整合和启动与证书相关联的web应用,现在考虑论述具有相关联的证书的web应用的多个实例。具有相关联的证书的web应用的多个实例
图25图示了与证书关联的多个web应用实例的示例。web应用证书存储器2500包括与web应用以及网站的关联证书有关的数据。在web应用证书存储器2500中包含了条目2510和2520,其中每一个条目用于不同的用户。如图25所示,条目2510与网站“a. com”有关并且包含了用于登录至相关联的网站的附加信息,例如用户名jsmith和口令bulldogs。条目2510包括一个用于将所述条目与web应用2530关联起来的AppID。条目2520同样与网站“a. com”有关,但其包含用户bsmith的登录信息,并且与web应用2540相关联。虽然图25图示了包含URL/FormID、用户名、口令以及AppID的条目,但是应该意识到和理解的是,在不脱离请求保护的主题的精神的情况下,不同形式的关联和证书信息都是可以使用的。由此,web应用证书存储器中的两个或更多数据条目可以包括用于识别整合在客户机桌面上的不同web应用的数据,并且每一个条目都具有与相同网站相关联的不同用户证书。在一个或多个实施例中,与相同网站相关联的一个或多个web应用是可以同时存在或激活的。例如,软件模块可被配置成使得web应用能够借助桌面工具栏来启动,以及在启动web应用的时候使用相关联的证书来自动将相关联的用户登录至网站。除了启动单个web应用之外,当选择启动第二 web应用的时候,软件模块还可以被配置成使得第二 web应用能够使用用于相同网站或不同网站的不同用户证书来启动。例如,图25的两个web应用2530、2540是同时激活的。如上所述,每一个应用都与网站“a. com”有关,但是具有与之关联的不同证书。在选择和启动web应用2530的时候,所述web应用会自动地使用与用户jsmith相关联的证书登录至网站“a. com”。同样,在选择和启动web应用2540的时候,所述web应用会使用与用户bsmith相关联的证书登录至网站“a. com”。由此,与相同网站相关联的web应用的多个实例可被同时激活,并且可以与不同的证书相关联。已经描述了创建和启动具有相关联的证书的web应用的概念,现在考虑论述web应用任务会话。web应用任务会话
在一个或多个实施例中,可以创建任务会话以便使得与web应用相关联的状态信息能够被保存到系统中。作为示例而不是限制,状态信息可以包括会话cookies、JavaScript状态、DOM状态、表单状态、标签和窗口位置、窗口大小、URL、历史记录等等。由于保存了与特定任务会话相关联的状态信息,由此,所述web应用可被关闭,并且可以在以后重新打开,从而恢复或补充(re-hydrate) web应用的状态信息。所述状态信息既可以被自动保存,也可以通过手动选择过程来保存。 作为示例,考虑图26。其中,桌面2600包括用于规划旅行的web应用窗口 2602。桌面2600还包括任务栏2604和跳转列表2606。web应用目录2608提供了一个可用于存储任务会话状态信息的存储设备。在所示出和描述的实施例中,web应用目录2608是在系统的用户空间中创建的。在该示例中,用户具有两个已经保存的任务会话,其中一个与波多黎各旅行相关联,另一个则与阿拉斯加旅行相关联。在操作中,当用户与web应用交互时,所述用户可以通过任何适当的工具来选择创建和保存任务会话。在所示出的示例中,跳转列表2606具有包含两个条目的菜单项目“任务”。第一个条目“新任务会话”使得用户能够创建新的任务会话。第二个条目“保存当前任务”使得用户能够保存当前任务。通过保存当前任务,与任务相关联的状态信息将会留存于web应用目录2608。标题为“打开任务会话”的菜单项目包含使得用户能够恢复或补充留存于web应用目录2608的先前任务会话的条目。在这里,有两个先前提及以及先前保存的任务会话——波多黎各旅行和阿拉斯加旅行。从以上的示例中可以注意到,可为个别的web应用创建和保存多个任务会话。在保存任务会话的时候,与web应用相关联的应用ID可以与任务会话一起保存。然后,该应用ID可用于确定哪一个web应用将会消费与保存的任务会话相关联的信息。任何适当的技术和方法均可用于使得能够创建和保存任务会话。在至少一些实施例中,系统可以利用或以其它方式使用与系统的web浏览器相关联的崩溃恢复系统。在这种情况下,举例来说,崩溃恢复功能可以是在用户选择保存当前任务或是创建新的任务会话的时候被触发的。崩溃恢复功能可以创建一个驻留在用户的应用数据目录中并且可以用于保存与任务会话相关联的信息的“appdata”文件。本领域技术人员是理解崩溃恢复系统的具体操作的。因此,为了简洁起见,在这里没有描述此类系统。图27是描述了根据一个或多个实施例来保存任务会话状态信息的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与服务器上运行的软件相关联地执行。步骤2700接收与保存任务会话状态信息相关联的输入。可以接收任何适当的输入。例如,所接收的输入可以包括接收自用户的输入。作为替换或补充,该输入可以包括某种类型的自动编程输入。在至少一些实施例中,用户输入可以是经由跳转列表接收的。作为替换或补充,用户输入也可以是经由快捷方式接收的。在所示出和描述的实施例中,用户输入指示用户希望保存与web应用相关联的任务会话状态信息。步骤2702创建或以其他方式访问web应用目录中的任务会话数据结构。该任务会话数据结构将被用于保存任务会话状态信息。步骤2704将任务会话状态信息保存在数据结构中。该步骤可以采用任何适当的方式执行。例如,该步骤可以是在用户选择保存任务会话状态信息的时候执行的。作为替换或补充,该步骤可以是在用户与web应用进行交互的过程中周期性执行的。在至少一些实施例中,步骤2702和2704可以是通过使用web浏览器的崩溃恢复系统执行的。然而应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,其他技术也是可以使用的。图28是描述根据一个或多个实施例来恢复状态信息已被保存的任务会话的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与在服务器上运行的软件相关联地执行。步骤2800接收与恢复任务会话相关联的用户输入,其中所述任务会话的状态信 息先前已被保存。步骤2802访问web应用目录中的任务会话数据结构。如上所述,任务会话的状态信息是保存在任务会话数据结构中的。步骤2804从web应用目录中检索任务会话状态信息。步骤2806将会启动相关联的web应用,并且将会使用从web应用目录检索的任务会话状态信息来恢复任务会话。已经描述了保存和重新使用任务会话状态信息的概念,现在考虑如何可以在web应用与浏览器之间执行转换。ffeb应用与浏览器之间的转换
在一个或多个实施例,web应用可以转换至浏览器体验,以便能够利用无法由使能所述web应用的Web应用模式浏览器提供的浏览器能力。回忆一下,这是因为在一些实施例中,Web应用模式浏览器是使得开发人员能够提供更加特定于站点的体验的消减的或无系统窗口控件的浏览器。例如,从Web应用模式浏览器中排除的此类其他能力可以包括收藏夹、工具栏和/或其他插件(add-on)。在至少一些实施例中,与个别的标签相关联的内容和状态可被从web应用迁移至web浏览器。作为替换或补充,与多个标签相关联的内容和状态和/或web应用的完整的内容和状态可被从web应用迁移至web浏览器。作为替换或补充,与个别的标签相关联的会话可被从web应用迁移至浏览器。考虑这样一种状况,其中用户从其桌面启动了一个web应用,在其内进行了导航,并且在新标签中打开了一个或多个链接。作为一个示例,考虑图29。其中,桌面2900包括web应用窗口 2902,所述窗口则包含用于规划旅行的web应用的一部分。桌面2900还包括用于从中启动web应用的任务栏2904,例如通过点击固定在任务栏上的相关联的图标来启动。web应用窗口 2902包括三个标签2906、2908和2910。在该实例中,用户选择了标签2906并且具有一个可被用户打开的链接“点击这里来搜索航班”。现在,假设用户点击相关联的链接来打开它,一旦打开了所述链接,则确定其希望为在标签2906中显示的网站创建一个收藏夹项目。在这个实例中,用户可以打开工具菜单2912或是使用其他某种用户界面工具,并且选择一个在相关联的web浏览器中打开标签内容的选项。作为一个示例,考虑使用与图29相同的数字的图30。
其中,打开工具菜单2912以便暴露其内容3000。在该示例中为用户提供了两个选择一“在浏览器中打开标签...”以及“在浏览器中打开WebApp内容...”。第一个选择使得用户能够在web浏览器中打开选定标签的内容。当在web浏览器中打开选定标签时,所述标签的内容和状态将会迁移至web浏览器。web浏览器可以是一个具有打开的实例的浏览器,或者可替换地 是一个已启动的浏览器。第二个选择使得用户能够在web浏览器中打开web应用的完整的内容。当这样做时,web应用的内容和状态将会迁移至web浏览器。任何适当的技术均可用于将内容和状态从web应用标签或web应用迁移至web浏览器。在至少一些实施例中,所述迁移是通过使用web浏览器的崩溃恢复系统来进行的,例如如上所述的崩溃恢复系统。特别地,当用户指示希望将内容和状态从web应用迁移至web浏览器时,内容和状态可被写入系统的盘,例如通过写包含将被迁移的相关数据的appdata文件。此外,在至少一些实例中,共享存储器可以用于迁移那些通常未被web浏览器的崩溃恢复系统使用的信息或数据。例如,诸如证书和会话cookies之类的数据可以保存在共享存储器中,并且可以使用所述共享存储器来使得web浏览器能够使用此类数据。—旦用户选择了在工具菜单2912中显示的特定选项,那么可以将所述信息或数据迁移至web浏览器的当前实例或新的实例,并且可以关闭web应用窗口 2902中的相关联的标签。在一个或多个实施例,如果正在从中迁出信息或数据的标签是在web应用中打开的唯一标签,那么可以在完成迁移之后关闭所述web应用。当web应用和web浏览器跨越进程边界在不同进程中运行时,上述方法同样是适用的。换言之,使用崩溃恢复系统和共享存储器的迁移同样适合跨越进程边界。然而,在一些情况中,进程边界并不一定需要跨越。相反,web应用以及后续的web浏览器功能可以从相同进程内部暴露。特别地,在这个实例中,web浏览器用户界面可以结合web应用窗口2902而被实例化和使用,并且通过Web应用模式浏览器不可用的功能可以通过web浏览器的用户界面来开启和使得可访问。在操作中,一种实现方式是如下进行的。首先,web应用产生一些崩溃恢复文件。新的浏览器将被启动,并且加载来自崩溃恢复文件的崩溃恢复信息。然后,所述信息将被用于配置新浏览器的状态。当用户在新浏览器内部工作时,他或她将能够经由浏览器的标准用户界面来访问所有浏览器功能。图31图示了用户已选择将关联于标签的内容和状态迁移至新浏览器实例的实施例。使用了与图29的示例相同的数字。在这里,假设用户为标签2906选择了菜单选择“在浏览器中打开标签”(图30)。作为响应,所述标签的内容和状态将会迁移到web浏览器的新实例,其中所述实例的相关联的用户界面窗口是在3100显示的。用户界面窗口 3100包括与已经从web应用迁移的标签相关联的地址栏3102以及标签3104。应该注意的是,在本示例中,在web应用窗口 2902中已经关闭了标签2906 (图30),然而由于打开了多个标签,因此,所述web应用仍旧是打开的。图32是描述了根据一个或多个实施例的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与服务器上运行的软件相关联地来执行。步骤3200接收与将web应用内容和/或状态迁移至web浏览器的处理相关联的用户输入。可以接收任何适当的输入。例如,在至少一些实施例中,输入可以是通过web应用暴露的工具菜单接收的。步骤3202将web应用内容和/或状态迁移至web浏览器。并且任何适当的技术均可以用于迁移web应用内容和/或状态。此外,处于任何适当的粒度等级的内容和/或状态都是可以迁移的。例如,可以迁移与web应用的个别的标签或多个标签相关联的内容和/或状态。作为替换或补充,web应用的全部内容都是可以迁移的。更进一步,在至少一些实施例中,所述迁移可以跨越进程边界进行。作为替换或补充,所述迁移可以在同一进程内部进行。图33是描述了根据一个或多个实施例的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与服务器上运行的软件相关联地执行。步骤3300接收与将web应用内容和/或状态迁移至web浏览器的处理相关联的用 户输入。可以接收任何适当的输入。例如,在至少一些实施例中,输入可以是通过web应用暴露的工具菜单接收的。步骤3302将web浏览器的用户界面实例化。步骤3304使用web浏览器用户界面来暴露功能。暴露功能包括使得能够通过web浏览器的用户界面来与web应用内容进行交互。在至少一些实施例中,所暴露的功能包括通过web应用或Web应用模式浏览器不可用且可用于与web应用内容交互的功能。在上文中提供了此类功能的示例。在web应用内容和/或状态的迁移是在同一进程内部进行的情形下,图33的方法可以是有用的。图34是描述了根据一个或多个实施例的方法中的步骤的流程图。这些步骤可以结合任何适当的硬件、软件、固件或是其组合来执行。在至少一些实施例中,所述方法可以由客户机上运行的软件与服务器上运行的软件相关联地执行。步骤3400接收与将web应用内容和/或状态迁移至web浏览器的处理相关联的用户输入。可以接收任何适当的输入。例如,在至少一些实施例中,输入可以是通过web应用暴露的工具菜单接收的。步骤3402保存与web应用内容相关联的数据。该步骤可以采用任何适当的方式来执行。举例来说,在至少一些实施例中,至少一些数据可被写入系统的盘。任何适当的技术均可用于将数据写入系统的盘。举个例子,在至少一些实施例中,web浏览器的崩溃恢复系统可以用于将数据写入系统的盘。更进一步,在至少一些实施例中,步骤3402可以通过使用在web应用与web浏览器之间共享的共享存储器来执行。步骤3404确定web浏览器是否打开。如果web浏览器是打开的,那么步骤3406在web浏览器中使用保存的数据来呈现web应用内容。另一方面,如果web浏览器没有打开,那么步骤3408将会启动web浏览器,并且返回步骤3406,以便使用保存的数据来呈现web应用内容。从浏览器中创津暂时件web应用
不同的实施例使得能够创建一个或多个所谓的暂时性web应用。在至少一些实施例中,所述暂时性web应用可以是在没有如上所述将暂时性web应用固定在任务栏上或以其他方式将暂时性web应用的相关文件或标记整合至客户机桌面的情况下创建的。举例来说,暂时性web应用有可能不具有整合在客户机桌面上且提供了一种使得能够启动或重新启动它的方式的任何用户界面工具,例如开始菜单中的快捷方式、客户机任务栏上的快捷方式图标等等。然而,在这种实例中,用户可以从与暂时性web应用相关联的网站启动所述暂时性web应用,并且可以在如上所述地安装或整合了所述web应用的情况下访问所述web应用提供的相同功能。然后,在使用了暂时性web应用之后,用户可以将其关闭。在至少一些实施例中,一旦关闭了暂时性web应用,贝U用户将不再能够访问所述web应用的特定实例,由此将会使得不能从客户机桌面的任务栏或开始菜单重新启动所述暂时性web应用。一种用于这样做的方式是在用户初始从相关联的网站启动所述web应用的时候删除为其创建的文件或进程。在一些实施例中,暂时性web应用可以被变换成已安装的web应用,由此可以从客户机桌面提供针对所述web应用的未来访问。作为示例,考虑图35,该示了暂时性web应用与浏览器之间的关系。在这里,浏览器3500使得能够通过带有标签的系统来访问多个网页,其中标签3510与网站“任何搜索页面”相关联,并且标签3520与“第二个打开页面”相关联。在一个或多个实施例中,暂时性web应用可以是从打开的页面创建的。在图35中,暂时性web应用3530是通过用户选择标签3510以及在桌面上将所述选择拖放至浏览器3500以外而被产生或创建的。当发生这种情况时,可以在临时位置创建暂时性web应用文件。
然而应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,暂时性web应用是可以采用其他方式产生的。例如,浏览器3500可以具有下拉菜单,以便于选择网页以及后续产生相关联的暂时性web应用。在本文的上下文中,暂时性web应用是那些并非按照以上在本文中描述的方式安装在客户机系统上的web应用。然而,网站仍旧可以在暂时性web应用中执行可以在已安装的web应用中执行的相同的功能,并且提供针对所述功能的访问。例如,网站可以修改暂时性web应用的独立跳转列表,设定和清除覆盖图标等等。作为替换或补充,暂时性web应用可以支持与已安装的web应用相同的行为,例如如上所述提供从暂时性web应用内部打开的独立的标签或窗口集合。图36图示了描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以结合任何适当的硬件、软件、固件或是其组合来实现。在至少一些实施例中,该方法的多个方面可以由适当配置的web浏览器和/或客户机设备上的软件模块来实现,例如图I中的那些。步骤3600接收对于可以从中获取web应用的网站的选择。该步骤可以采用任何适当方式来完成,例如通过在带有标签的web浏览器中选择标签,通过下拉菜单等等。一旦接收到对于网站的选择,则步骤3602将会接收在客户机设备上创建作为暂时性web应用的web应用的输入。在一个或多个实施例中,该处理可以包括接收包含了可用于产生web应用的请求或其他信息的消息或调用。在其他实施例中,该处理可以包括接收从用户拖放与网站相关联的某个标记的处理中产生的输入。步骤3604创建一个与所选择的网站相关联的暂时性web应用。在一些实施例中,仓Il建暂时性web应用的处理将会产生web应用文件和/或进程,而不会将其或是相关联的任何标记整合在客户机桌面或开始菜单上。例如,相关联的文件可以保存在与放置整合的web应用文件的位置不同的临时文件位置。此外,在至少一些实施例中,暂时性web应用的创建可以包括将网站状态从浏览器转移到暂时性web应用。图37图示了描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以结合任何适当的硬件、软件、固件或是其组合来实现。在至少一些实施例中,该方法的多个方面可以由适当配置的web浏览器和/或软件模块来实现,例如图I中的那些。
步骤3700接收关闭暂时性web应用的输入。该步骤可以采用任何适当的方式来执行。例如,在一个实施例中,该处理可以包括从用户那里接收在打开的暂时性web应用上选择关闭按钮的输入。在另一个实施例中,该处理可以包括接收基于用户在暂时性web应用的下拉菜单上选择关闭选项的输入。一旦接收到关闭暂时性web应用的输入,则步骤3702将会关闭所述暂时性web应用。关闭暂时性web应用的处理可以包括删除或移除暂时性web应用的相关联的文件和进程。由此,一旦关闭了暂时性web应用,那么如下所述,在没有以如上所述的方式再次对其进行访问或是将其作为非暂时性web应用进行安装的情况下,用户将不再能访问其功能。已经描述了暂时性web应用的创建和删除,现在考虑如何可以根据一个或多个实施例来将暂时性web应用变换成固定或安装的web应用。将暂时性web应用变换成安装的web应用
在一个或多个实施例中,暂时性web应用可被变换成安装或整合的web应用,以便允许·在关闭了 web应用之后永久性访问所述web应用。一旦被变换,则可以认为所述暂时应web应用是非暂时性web应用。图38图示了包含跳转列表的暂时性web应用。任务栏3800显示了在客户机设备上打开和运行的多个程序。暂时性web应用3810是一个源于程序3840的web应用。跳转列表3820与暂时性web应用3810相关联。与安装或整合的web应用的情况一样,跳转列表3820具有与已安装的web应用相关联的所有可能功能。此外,跳转列表3820包括名称为“将这个程序固定在任务栏上”的项目3830。选择该选项将web应用固定在客户机任务栏上,由此可以如上所述地将web应用以及相关联的用户界面工具安装在客户机桌面上。这样做使得现在已不再是暂时性的web应用能够从桌面重新启动。然而,应该意识到和理解的是,在不脱离请求保护的主题的精神和范围的情况下,任何适当的技术均可用于将暂时性web应用变换成非暂时性web应用。举例来说,在一些实施例中,暂时性web应用可被添加至客户机桌面的开始菜单,以便整合和安装所述web应用。在另一个实施例中,暂时性web应用可以具有下拉菜单,所述下拉菜单具有用于启动安装过程的选项。当然,有多种方式可以用于将暂时性web应用变换成非暂时性web应用。web应用超级主页按钮
在与web应用交互的时候,除了直接与关联于web应用的网站相关联的域之外,用户还可以导航至其他域。例如,用户可以启动电子邮件web应用,并且可以沿着外部链接到达另一个站点,例如新闻、购物或娱乐站点。在一个或多个实施例中,web应用主页按钮是作为用户界面体验的一部分提供的。所述web应用主页按钮服务于数个目的。首先,web应用主页按钮指示了特定web应用模式浏览器(也被称为“站点模式浏览器”)实例的目的是用于相关联的web应用。所述web应用主页按钮可以使用商标或其他视觉工具来传达该信息。其次,web应用主页按钮使得用户能够通过简单地点击web应用主页按钮来简单快速地开始返回到其web应用体验的开端,以便访问开始URL。这样做缓解了如下问题为了访问相关联的网站的开始URL,必须关闭和重新启动特定web应用。在至少一些实施例中,与开始URL相关联的值默认是从供用户拖放任务栏上的网站图标的页面中确定的。作为替换,web开发人员可以定义一个HTML标记符,所述标记符描述作为其页面一部分的开始URL。这样做允许其定义一个替换的开始URL,其中所述替换的开始URL不同于他们当前查看的页面。作为示例,考虑图39。其中,Web应用模式浏览器3900包括其中出现了网站的URL的地址栏3902。此外,web应用主页按钮3904是在后退和前进导航按钮附近出现的。当用户导航至与web应用相关联的网站以外的域时,他们可以在任何时间简单地点击web应用主页按钮3904,以便导航至如在web应用文件中描述的网站的开始URL。更进一步,在至少一些实施例中,为了在web应用而不是默认浏览器内部向用户传递其上下文,用于导航的后退和前进按钮可以通过web应用的主页按钮来使用或提取站点商标的基色,以便呈现所述网站的标识。此外,可以使用HTML标记符以便使得网站能够将这些按钮的颜色指定成其HTML页面的一部分。图40是描述了根据一个或多个实施例的方法中的步骤的流程图。该方法可以结合任何适当的硬件、软件、固件或是其组合来实现。在至少一些实施例中,该方法可以由站点模式浏览器实现,例如上面所描述的那些。 步骤4000将站点模式浏览器导航至与安装在客户机设备上的web应用相关联的网站开始URL。该步骤可以采用以上提供了实例的任何适当方式来执行。步骤4002导航至不同的网页。所述网页既可以与关联于开始URL的网站相关联,也可以不与之关联。步骤4004接收对于web应用主页按钮的选择。响应于接收到了对于web应用主页按钮的选择,步骤4006会将站点模式浏览器导航至网站开始URL。例示系统
图41图示了可用于实现如上所述的不同实施例的例示计算设备4100。举例来说,计算设备4100可以是图I的计算设备102或是其他任何适当的计算设备。计算设备4100包括一个或多个处理器或处理单元4102、一个或多个存储器和/或存储组件4104、一个或多个输入/输出(I/O)设备4106以及允许不同的组件和设备相互通信的总线4108。总线4108代表任意的若干种总线结构中的一种或多种,这其中包括存储器总线或存储器控制器、外设总线、加速图形端口以及使用了多种总线架构中的任何一种的处理器或局部总线。总线4108可以包括有线和/或无线总线。存储器/存储组件4104代表一个或多个计算机存储媒体。组件4104可以包括易失媒体(例如随机存取存储器(RAM))和/或非易失媒体(例如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件4104可以包括固定媒体(例如RAM、R0M、固定硬盘驱动器等等)以及可移除媒体(例如闪存驱动器、可移除硬盘驱动器、光盘等等)。—个或多个输入/输出设备4106允许用户将命令和信息输入计算设备4100,并且还允许将信息呈现给用户和/或其他组件或设备。输入设备的示例包括键盘、光标控制设备(例如鼠标)、麦克风、扫描仪等等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡等等。在这里,不同的技术可以在软件或程序模块的一般上下文中描述。通常,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现可被保存在某种形式的计算机可读媒体上或者在它们之间进行传送。计算机可读媒体可以是任何能被计算设备访问的可用介质或媒体。作为示例而不是限制,计算机可读媒体可以包括“计算机可读存储媒体”。“计算机可读存储媒体”包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的易失和非易失以及可移除和不可移除媒体。计算机可读存储媒体包括但不局限于RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多用途盘(DVD )或其他光存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备、或是可以用于存储期望信息并能被计算机访问的其他任何介质。结论
不同实施例提供了一种允许终端用户在其桌面上安装web应用和网站的机制。根据一个或多个实施例,可以使用客户端代码来允许与网站关联的开发人员定义与用户交互相关联的边界,并且让运行时引擎来实施这些边界。在至少一些实施例中,开发人员可以通过JavaScript代码来提供不同配置,以便用于创建开始菜单快捷方式,导航和所谓的跳转列表整合,以及多种其他功能。虽然用特定于结构特征和/或方法操作的语言描述了本主题,但是应该理解,所附权利要求中定义的主题不必局限于上述具体特征或操作。相反,以上描述的具体特征和 操作是作为用于实现权利要求的例示形式公开的。
权利要求
1.一种计算机实现的方法,包括接收与将Web应用内容和/或状态迁移到web浏览器相关联的用户输入,所述web应用内容和/或状态与整合在客户机设备上的web应用相关联;以及响应于所述接收,将web应用内容和/或状态迁移到web浏览器。
2.权利要求I的计算机实现的方法,其中,所述接收包括通过所述web应用暴露的工具菜单接收用户输入。
3.权利要求I的计算机实现的方法,其中,所述迁移包括迁移与web应用标签相关联的内容和/或状态。
4.权利要求I的计算机实现的方法,其中,所述迁移包括迁移与多个web应用标签相关联的内容和/或状态。
5.权利要求I的计算机实现的方法,其中,所述迁移包括跨越进程边界迁移内容和/或状态。
6.权利要求I的计算机实现的方法,其中,所述迁移包括在相同的进程内迁移内容和/ 或状态。
7.一个或多个包含了计算机可读指令的计算机可读存储媒体,在被运行的时候,所述计算机可读指令实现一种方法,该方法包括接收与将web应用内容和/或状态迁移到web浏览器相关联的用户输入,所述web应用内容和/或状态与整合在客户机设备上的web应用相关联;保存与所述web应用内容相关联的数据;以及使用保存的数据在web浏览器中呈现web应用内容。
8.权利要求7的一个或多个计算机可读存储媒体,其中所述接收包括通过所述web应用暴露的工具菜单接收用户输入。
9.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用与web浏览器相关联的崩溃恢复系统来保存所述数据中的至少一些数据。
10.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用与web浏览器相关联的崩溃恢复系统来保存所述数据中的至少一些数据,其中所述保存还包括使用共享存储器保存所述数据中不同于所述至少一些数据的数据。
11.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用共享存储器保存所述数据中的至少一些数据。
12.权利要求7的一个或多个计算机可读存储媒体,其中所述保存包括使用共享存储器保存所述数据中的至少一些数据,其中所述数据中的所述至少一些数据包括证书和/或会话 cookies。
13.权利要求7的一个或多个计算机可读存储媒体,还包括确定web浏览器是否打开, 如果没有打开,在使用保存的数据来呈现所述web应用内容之前启动所述web浏览器。
14.权利要求7的一个或多个计算机可读存储媒体,其中,所述使用包括使用所述保存的数据呈现与单个标签相关联的web应用内容。
15.权利要求7的一个或多个计算机可读存储媒体,其中,所述使用包括使用所述保存的数据呈现与单个标签相关联的web应用内容,并且还包括响应于所述使用,关闭所述单个标签。
全文摘要
不同实施例提供了一种允许终端用户在其桌面上安装web应用和网站的机制。根据一个或多个实施例,可以使用客户端代码来允许与网站关联的开发人员定义与用户交互相关联的边界,并且让运行时引擎来实施这些边界。在至少一些实施例中,开发人员可以通过JavaScript代码和/或HTML标记来提供不同配置,以便用于创建开始菜单快捷方式、导航以及所谓的跳转列表整合。
文档编号G06F9/445GK102947792SQ201180028813
公开日2013年2月27日 申请日期2011年5月27日 优先权日2010年6月11日
发明者I.希勒里奥, A.H.马列克, B.A.摩根, J.T.金 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1