用于基于用户行为预测的智能web参考预加载的方法
【专利摘要】本发明的各实施例总体上涉及用于基于用户行为预测的智能web参考预加载的方法。具体地,涉及预加载工具便于高效加载与web文档中的链接相关联的内容。创建针对当前页面的包含链接的索引。索引包括链接的坐标以及针对每个链接的触发区域的触发区域坐标。当在触发区域中检测到指示用户可能希望导航到附加内容的用户交互时(即预测链接),禁用针对预测链接的标准点击行为。开始下载并且缓存渲染预测链接的内容(即新页面)所需要的资源。一旦用户实际选择链接,完成从当前页面到新页面的转变,而新页面不会显得间断。在一些实例中,从索引排除某些链接和/或目标属性指向将由链接中的一个或多个链接更新的一个或多个容器。
【专利说明】
用于基于用户行为预测的智能web参考预加载的方法
技术领域
[0001]本发明的各实施例总体上涉及计算机领域,更具体地涉及用于基于用户行为预测的智能web参考预加载的方法。
【背景技术】
[0002]万维网已使得文档的庞大集合能够由许多用户经由因特网可访问。通过使用web浏览器,用户可以查看这些文档,这些文档可以包含文本、图像、视频、其它形式的多媒体、以及经由超链接到附加内容或其它文档的导航。依赖于各种网络的速度以及利用和提供这些网络的设备的延迟,各种文档或由文档提供的内容的加载时间可以变化。当用户点击特定链接时,在与链接相关联的文档或内容开始加载结果之前,产生范围从几毫秒到几秒的延时。在这一延时期间,用户可以看到与链接相关联的文档或内容逐渐渲染,这往往使得文档或内容显得间断,直到它被完全加载。长的加载时间会使用户感到挫败,从而往往导致不好的用户体验或者使得用户干脆放弃并且寻求来自另一源的相似文档或内容。
【发明内容】
[0003]提供本
【发明内容】
从而以简化形式引入概念的选择,下面在【具体实施方式】中进一步描述概念。本
【发明内容】
并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
[0004]本发明的实施例总体上涉及更有效地加载来自web页面的内容。更具体地,一些实施例涉及基于用户行为预测来预加载内容。因此,在预测用户将点击文档内的特定链接后,在用户选择链接之前开始下载和缓存渲染预测链接的内容所需要的资源。一旦用户实际选择链接,就可以显示新内容而不必下载它,并且完成从先前文档到新文档的转变而新文档不会显得间断。在这点上,几乎所有延迟被去除,并且用户体验无缝转变。
【附图说明】
[0005]下面参照所附附图来详细描述本发明,其中:
[0006]图1是示出依照本发明的实施例的用于基于用户行为预测的智能web参考预加载的系统的框图;
[0007]图2是示出依照本发明的实施例的用于预测用户行为的方法的流程图;
[0008]图3是依照本发明的实施例的用于预测用户行为和web参考预加载的流程图;
[0009]图4是示出依照本发明的实施例的用于创建索引的方法的流程图;
[0010]图5是示出依照本发明的实施例的用于从当前页面转变到目标页面的方法的流程图;以及
[0011]图6是适合于在实现本发明的实施例中使用的示例性计算环境的框图。
【具体实施方式】
[0012]本文中具体描述本发明的主题以满足法定要求。然而,描述本身并不意在限制本专利的范围。更确切地说,发明人设想所要求保护的主题还可以以其它方式体现,以在结合其它现存或未来技术的情况下包括与本文档中描述的步骤或步骤组合相似的不同步骤或步骤组合。而且,虽然术语“步骤”和/或“块”可在本文中用于暗指所采用的方法的不同元素,术语不应被解释为暗示本文中公开的各种步骤之间的任何特定顺序,除非并且除了当明确描述各个步骤的顺序时。
[0013]贯穿本说明书使用了各种术语。下面包括了对一些术语的定义,以提供对本文中公开的构思的更清楚的理解:
[0014]术语“页面”和“文档”指的是适合于万维网并且可以由web浏览器渲染的内容的集合。Web浏览器经由监控器或移动设备来显示页面或文档。页面或文档可以包括由web浏览器利用来呈现页面的超文本标记语言(HTML)、级联样式表(CSS)和JavaScript(JS)。
[0015]术语“超文本标记语言”或“HTML”指的是用于创建web页面的标准标记语言。Web浏览器能够读取HTML文件,并且将它们渲染为可见或可听的web页面。HTML允许嵌入图像、对象或脚本,并且可用于创建结构化文档和交互式表单。HTML可以进一步引用CSS以限定页面的外观和布局。
[0016]术语“级联样式表”或“CSS”指的是用于描述以标记语言写成的文档的外观和格式化的样式表语言。诸如布局、颜色和字体之类的元素可以由CSS限定。多个HTML页面可以通过指向存储在单独.CSS文件中的相关CSS而共享格式化。
[0017]术语“JavaScript”或“JS”指的是由web浏览器使用的计算机编程语言,以允许客户侧脚本与用户交互、控制浏览器、并且更改显示的文档内容。
[0018]“当前页面”是由web浏览器当前渲染并且可以由用户经由监控器或移动设备查看的页面。当前页面显示各种内容,并且可以包含到附加内容(即,目标页面)的链接。
[0019]“目标页面”是在选择由当前页面提供的链接或者与由当前页面提供的链接交互后将由web浏览器渲染的页面。目标页面包括内容,其中一些内容可以与当前页面的内容一样。
[0020]“链接”或“超链接”是到其可以是新文档或文档内的特定内容(即“目标页面”)的内容的引用。用户可以通过选择链接或以其它方式与链接交互而导航到内容。在选择后,web浏览器渲染由链接所引用的内容。
[0021]“文档对象模型”或“D0M”指的是HTML文档中的对象的跨平台和语言无关的表示。当HTML文档被渲染在web浏览器中时,浏览器将HTML下载到本地存储器中并且将文档解析成DOM ο包括任何链接的文档的节点组织成被称为DOM树的树结构。
[0022]“索引”是DOM中的所有链接的列表。索引包括每个链接的坐标。索引还包括针对每个链接的触发区域和触发区域坐标。
[0023]“触发区域”是围绕链接的地区或区域,当输入(例如,诸如通过经由鼠标、手写笔、触摸输入、凝视或姿势等移动到触发区域中的光标)时,其指示用户可能有意向导航到与该触发区域对应的链接。对应于不止一个链接的触发区域可以重叠,从而指示用户可能有意向导航到不止一个链接。
[0024]术语“目标属性”指的是去往在选择特定链接后将被更新的一个或多个容器的指示器。
[0025]“容器”指的是web页面的一部分。容器允许开发者通过使用目标属性来指定当用户选择特定链接时应该更新web页面的哪些部分。
[0026]“用户交互”是指示用户可能选择触发区域内的链接的与触发区域的任何交互。示例性交互包括利用触摸设备或者通过用户将光标导航到触发区域中的交互。可以通过鼠标、触摸板、手写笔或者经由姿势来便于光标的导航。
[0027]术语“标准点击行为”指的是用户选择链接的正常响应。例如,当用户选择或点击链接时,与链接相关联的内容开始下载,并且随着其下载,web浏览器开始渲染内容。
[0028]“点击处理程序”指的是取代标准点击行为并触发到目标页面的转变的代码。
[0029]“转变”是当选择链接并且web浏览器从渲染当前页面的内容改变为渲染目标页面的内容时发生的处理。
[0030]如先前所讨论的,文档的庞大集合可由许多用户经由因特网访问。这些文档中的每个文档可以包含文本、图像、视频、和其它形式的多媒体、以及到附加内容或其它文档的链接。用户可以使用web浏览器查看这些文档和/或导航到附加内容或其它文档。各种网络的速度以及利用和提供这些网络(将内容或文档的位置连接到最终用户)的设备的延迟会大大影响各种文档和由文档提供的内容的加载时间。在选择用于导航到内容或文档的链接之后,在与链接相关联的文档或内容开始加载之前的范围从几毫秒到几秒的延时使得与链接相关联的文档或内容逐渐渲染。逐渐渲染转而使得文档或内容显得间断,直到它被完全加载。内容之间的这种不连贯使用户感到挫败并且导致负面的用户体验,或者更糟,使得用户干脆放弃并且寻求来自另一源的相似内容。
[0031]为了减轻这些延时,一些web开发者利用JavaScript并且仅更新文档的一部分(当用户导航到它或者选择链接以更新该部分时)。然而,因为这依靠对链接的用户选择,甚至在该部分被更新的同时一些延时仍然存在。其他web开发者可能标识将会再使用的内容,并且将该内容放在内容递送网络(CDN)上,以减少web服务器和最终用户设备之间的延迟以及最终从web服务器传送到最终用户设备的内容量。然而,在这些情况中的每种情况下,没有内容被实际传送,直到用户点击与该内容相关联的链接,并且仍然存留一些延时。
[0032]本发明的一些实施例涉及预测用户行为。本发明的一些实施例涉及基于用户行为预测来预加载内容。因此,在预测用户将会点击文档内的特定链接后,甚至在用户选择链接之前,渲染针对预测链接的内容所需要的资源开始下载并且缓存。一旦用户实际上选择链接,新内容就可以显示,而不必下载它,并且完成从先前文档到新文档的转变,而无新文档逐渐渲染或显得间断。在这点上,几乎去除了所有延迟,并且用户体验到从当前页面到目标页面的无缝转变。
[0033]利用由web开发者定义的触发区域来完成预测用户行为。可以针对文档中的每个链接来定义触发区域。如上面所描述的,触发区域是围绕链接的地区或区域,在用户与触发区域交互后,其指示用户可能意在访问与触发区域对应的链接。在实施例中,目标属性被定义为指向在选择特定链接后将被更新的一个或多个容器。在由web浏览器加载每个文档时,标识DOM中的所有链接并且创建索引。索引包括所有的链接、链接的坐标、以及与每个链接相关联的触发区域对应的触发区域坐标。在一些实例中,web开发者可以利用目标属性来标识在选择链接后应该被更新的容器。附加地或备选地,web开发者可以从索引中排除一个或多个链接,所以那些链接将不会受益于如本文中所描述的用户行为预测和预加载。当在触发区域内检测到用户交互时,预测用户意在选择对应链接。禁用针对该链接的标准点击行为,这允许在用户实际选择链接之前下载对应于链接的内容。
[0034]—旦用户实际选择链接,web浏览器转变到目标页面(S卩,与链接相关联的内容)。转变可以采取若干形式。例如,与当前页面相关联的文档可被暂时隐藏。针对当前页面的级联样式表(CSS)和JavaScript被卸载,并且将内容从当前页面的主体移除。将目标页面的CSS和JavaScript与当前页面的CSS和JavaScript进行比较,以确定什么(如果有的话)需要从当前页面更新到目标页面。如果任何CSS或JavaScript需要更新,则缓存的CSS和JavaScript被注入在文档中。相似地,新内容被注入到文档主体中,并且对文档取消隐藏。在另一示例中,在转变期间仅加载主体的HTML。相似地,如果指定了目标属性,在转变期间仅加载指定的容器。如可以理解的,基于内容的某些部分由目标页面的开发者包括或排除,在转变期间可以仅加载定制内容。
[0035]在每个示例中,因为在用户选择链接前已经下载了针对目标页面的HTML,从当前页面到目标页面的转变发生在几乎没有延迟的情况下,并且没有间断链接的逐渐渲染或外观。代之,可以提供非常简洁的图形或转变页面,其向用户指示链接被选择并且页面被渲染。一旦目标页面渲染,重建索引并且重复处理。在一些实施例中,使得链接或触发区域的坐标改变的任何交互(例如,重设页面大小)还使得重建索引。
[0036]现在参照图1,提供了图示依照本发明的实施例的用于预测用户行为和预加载web内容的预加载系统100的框图。应该理解的是,本文中所描述的这一和其它布置仅作为示例进行阐述。除了或代替示出的那些,可以使用其它布置和元件(例如,机器、接口、功能、顺序、以及功能组等),并且一些元件可以完全省略。进一步地,本文中所描述的元件中的许多元件是可以实现为分立或分布式部件或者与其它部件结合、并且以任何适合组合和位置的功能实体。如由一个或多个实体执行的本文中所描述的各种功能可以通过硬件、固件和/或软件来执行。例如,各种功能可以由执行存储器中存储的指令的处理器来执行。
[0037]预加载系统100通常操作为预测用户可能选择的链接并且在用户实际选择链接之前下载与链接对应的内容。从当前内容到目标内容的转变因此可以在几乎零延迟并且没有目标内容逐渐渲染或显得间断的情况下完成。除了未示出的其它部件之外,系统100可以包括用户设备110、web服务器120和预加载工具130。应该理解的是,图1中示出的系统100是一个适合计算系统架构的示例。图1所示的部件中的每个部件可以经由任何类型的计算设备来实现,诸如例如参照图8所描述的计算设备800。部件可以经由网络102彼此通信,网络102可以包括(但不限于)一个或多个局域网(LAN)和/或广域网(WAN)。这样的联网环境在办公室、企业范围计算机网络、内联网和因特网中是司空见惯的事。应该理解的是,在本发明的范围内,可以在系统100内采用任何数目的用户设备、web服务器、预加载工具和网络。每个可以包括在分布式环境中协作的单个设备或多个设备。例如,预加载工具130可以经由集体提供本文中所描述的功能的布置在分布式环境中的多个设备来提供。在另一实例中,预加载工具130的部分可以由用户设备110、web服务器120、或者作为云中提供的web服务来提供。相似地,预加载工具的部分可以由用户设备110、web服务器120、以及作为云中提供的web服务中的每个来提供。附加地,在网络环境内还可以包括未示出的其它部件。
[0038]如图1所示,预加载系统100包括预加载工具130,除了未示出的别的之外,预加载工具130包括标识部件132、索引部件134、检测部件136、下载部件138和转变部件140。预加载工具130的标识部件132标识经由用户设备110上运行的web浏览器加载的当前页面的DOM中的一个或多个链接。因为DOM限定链接中的每个链接、以及每个链接的坐标,DOM由标识部件132进行解析以标识由当前页面提供的每个链接和相关联的坐标。在实施例中,DOM还限定触发区域中的每个触发区域、以及每个触发区域的坐标,并且DOM由标识部件132进行解析以标识由当前页面提供的每个触发区域和相关联的坐标。
[0039]预加载工具130的索引部件134创建包含一个或多个链接以及链接的坐标的索引。索引还包括由web开发者限定的并且由标识部件132标识的DOM中的针对索引中的每个链接的触发区域(如由预加载工具130或者依照用户喜好指定的默认触发区域)的坐标。触发区域限定在与对应于特定链接的触发区域用户交互后指示用户可能有意向访问该链接的区域或地区。在一些实施例中,目标属性可以指向将由链接更新的一个或几个容器。这允许开发者指定当用户与触发区域交互或选择链接时什么应该下载和/或更新。附加地或备选地,可以从索引排除一些链接。在这点上,开发者可能希望从如本文中所描述的预测用户行为和/或预加载内容排除web页面的某些部分。如果改变链接或触发区域的坐标的事件(例如,重设页面大小)发生,标识部件132标识新坐标并且索引部件134重建索引。
[0040]预加载工具130的检测部件136检测与链接相关联的触发区域的用户交互。用户交互可以对应于诸如可以经由鼠标、手写笔或触摸输入做出的光标移动。相似地,用户交互可以对应于凝视或姿势检测。在一些实施例中,可以由检测部件136针对与不止一个链接相关联的不止一个触发区域来检测用户交互。例如,链接可以在页面上足够紧密地接近彼此,使得触发区域重叠。以这种方式,可以同时在不止一个触发区域中检测用户交互。检测部件136还禁用针对一个或多个链接的标准点击行为。这阻止在下载部件138已下载与一个或多个链接相关联的内容之前用户实际选择链接。
[0041 ] 一旦已经在一个或多个触发区域中检测到用户交互,下载部件138开始下载如果用户实际选择与一个或多个触发区域对应的一个或多个链接将被更新的内容。下载部件138依照web开发者喜好下载内容。例如,web开发者可以仅指派要下载和缓存的主体或指定容器(当指定其指向要更新的特定容器的目标属性时)的HTML。在这种情况下,从web服务器解析容器。相似地,web开发者可以指派要从本文中所描述的用户行为预测和/或预加载处理排除的页面的某些部分或特定链接。在另一示例中,web开发者可以指派要更新的整个文档。在又一示例中,web开发者可以定制加载和卸载的内容以及在卸载时页面的清理。
[0042]在成功和完全下载内容之后,由预加载工具130的转变部件140重新启用针对一个或多个链接的标准点击行为。一旦转变部件140检测到与链接的用户交互,转变部件140从当前页面转变到目标页面。转变部件140可以进一步简洁地提供图形或转变页面,直到目标页面完全可用并且被提供。这使得目标页面能够整体显示,而不会显得间断或逐渐渲染。一旦目标页面显示,处理重复并且标识部件132标识现在渲染的目标页面的链接并且索引部件134建立新索引。
[0043]现在参照图2,提供图示依照本发明的实施例的用于用户行为预测的方法200的流程图。方法200和本文中所描述的其它方法的每个块包括可以使用硬件、固件和/或软件的任何组合执行的计算处理。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。方法还可以体现为存储在计算机存储介质上的计算机可用指令。仅举几例,方法可以由独立应用、服务或托管服务(独立或与另一托管服务组合)、或者到另一产品的插件来提供。例如,方法200可以被提供作为诸如图1的预测工具130之类的预测工具的一部分。
[0044]如块202处所示,标识当前页面的DOM中的一个或多个链接。如上面所描述的,解析DOM以标识每个链接以及每个链接的坐标。在一些实施例中,还解析DOM以标识与每个链接对应的触发区域和触发区域坐标。在一些实施例中,触发区域和触发区域坐标被设置在默认位置处。在一些实施例中,可以依照用户喜好来设置触发区域和触发区域坐标。
[0045]在块204,创建包含链接的索引。索引包括链接的坐标以及与每个链接对应的触发区域的触发区域坐标。如上面所描述的,触发区域坐标可以由web开发者限定、设置为围绕每个链接的默认区域、或者由用户喜好来指定。使得链接或触发区域的坐标改变的任何事件可以导致DOM被再次解析和索引重建。例如,如果页面被重设大小或者用户能够对页面内的内容重新组织或重设大小,链接和触发区域的坐标可以改变并且索引需要重建。相似地,如果用户正与不止一个设备交互并且页面从一个设备转变到另一设备,针对新设备可能需要重建索引。
[0046]现在参照图4,提供图示依照本发明的实施例的用于创建索引的方法400的流程图。例如,方法400可以由图1的预加载工具130来执行。如块402处所示,标识当前页面的DOM中的一个或多个链接。在块404,创建包含链接的索引。索引包括一个或多个链接的坐标以及与每个链接对应的触发区域的触发区域坐标。
[0047]在一些实施例中,如块406处所示,从索引排除不应该与触发区域相关联的一个或多个链接。例如,当前页面的web开发者可能不想要所有链接都与触发区域相关联,并且受益于如本文中所描述的用户行为预测或预加载。在这点上,web开发者可以不限定针对那些特定链接的触发区域。附加地或备选地,web开发者可以肯定地限定要从索引排除的这些链接。在任一情况下,与当前页面交互的用户不会预测用户行为或预加载对应于这些链接的内容。
[0048]在一些实施例中,如块408处所示,接收指向在选择链接后将被更新的一个或多个容器的目标属性。例如,web开发者可以指派在与特定链接交互后将被更新的当前页面内的特定容器。这些容器可以通过由web开发者在当前页面的HTML内的标识(id)来标识。当DOM标识链接并且索引被创建时,目标属性被接收并且添加到索引。当用户与目标属性相关联的链接交互时,由目标属性指定的容器从web服务器被解析,并且通过用户设备上的web浏览器进行更新。为了说明,web开发者可以指定CSS和JS不应被预加载并且只有页面的主体或者指定容器的HTML将被更新。在这点上,只有当前页面的指派部分被更新,而网页的其余部分保持不变。
[0049]在一些实施例中,诸如由图1的预加载工具130提供全局事件(例如,页面加载和卸载),其模拟正常由浏览器提供的标准加载和卸载事件。Web开发者登记这些全局事件而不是标准加载和卸载事件。然后由开发者负责卸载期间的页面清理,以清理在加载事件期间运行的任何定制代码。
[0050]再次参照图2,并且如块206处所示,检测与触发区域的用户交互。用户交互可以是经由鼠标、手写笔或触摸输入移动到触发区域中的光标。相似地,用户交互可以经由触发区域中的凝视或姿势而做出。在任一实例中,用户交互指示用户可能有意向导航到对应于该触发区域的链接。在这点上,预测用户行为。因此,在块208,针对链接的标准点击行为被禁用并且由点击处理程序取代。这阻止用户在与链接对应的内容已被下载之前导航到链接。
[0051]接下来参照图3,提供图示依照本发明的实施例的用于用户行为预测和web参考预加载的方法300的流程图。方法300和本文中所描述的其它方法的每个块包括可以使用硬件、固件和/或软件的任何组合执行的计算处理。例如,各种功能可以由执行存储在存储器中的指令的处理器来执行。方法还可以体现为存储在计算机存储介质上的计算机可用指令。仅举几例,方法可以由独立应用、服务或托管服务(独立或与另一托管服务组合)、或者到另一产品的插件来提供。例如,方法300可以被提供作为诸如图1的预测工具130之类的预测工具的一部分。
[0052]如块302处所示,标识包含当前页面的一个或多个链接的索引。在一些实施例中,索引可以基于标识当前页面的DOM中的所有链接的默认处理。索引包括针对一个或多个链接中的每个链接的触发区域的触发区域坐标。在一些实施例中,索引基于web开发者喜好。在这点上,web开发者可以选择从索引排除或包括页面的某些部分。例如,web开发者可能不想要所有链接都包括在索引中。相似地,web开发者可能不想要预加载页面的某些部分(例如,CSS和/或JS) Jeb开发者还可以指定其指向应该预加载的容器的目标属性,而不是预加载整个文档。
[0053]在块304,检测到与触发区域的用户交互。如上面所描述的,可能用户一次与不止一个触发区域交互。依赖于触发区域的大小,根据web开发者设计、默认行为或用户喜好,触发区域中的一个或多个触发区域可以重叠。一旦在触发区域中已经检测到用户交互,在块306,针对与触发区域对应的链接的标准点击行为被禁用并且用点击处理程序取代。这阻止用户在预加载完成之前选择链接。
[0054]在块308,下载与链接相关联的内容。可以以各种方式下载内容。在一个实施例中,仅预加载主体或指定容器(如果指定了目标属性)的HTML。当指定了容器而不是整个文档时,从web服务器解析容器。在一个实施例中,预加载包括CSS和JS的整个文档。在另一实施例中,web开发者可以利用定制全局事件来加载和卸载页面的定制部分。在这种情况下,开发者必须在卸载时清理页面。例如,开发者可以适配用于全局加载和卸载事件的JS代码,其可以不以容器模式工作以创建定制全局加载和卸载事件。
[0055]在内容已被下载之后,在块310,由点击处理程序检测与对应于目标页面的链接的用户交互。一旦检测到用户交互,在块312,web浏览器从当前页面转变到目标页面。
[0056]在一些实施例中,并且现在参照图5,转变可以以若干形式发生。在块502隐藏与当前页面相关联的文档。为此,web浏览器可以暂时提供向用户指示链接被选择并且目标页面正被渲染的图形或转变页面。在块504可以卸载针对当前页面的CSS和JS ο相似地,在块506可以从当前页面的主体移除内容。
[0057]在一个实施例中,如块508处所示,将缓存的目标页面的CSS和JS与当前页面的CSS和JS进行比较。基于该比较,在块510,将已改变的任何CSS或JS注入到文档中。在这点上,在当前页面和目标页面之间不同的任何CSS或JS被更新。在块512,新内容(例如,目标页面的主体或指定容器的HTML)被注入到文档的主体中。在块518,对文档取消隐藏。
[0058]在一个实施例中,如块514处所示,新内容被注入到文档或指定容器的主体中。然而,没有CSS或JS更新。在块518,对文档取消隐藏。
[0059]在一个实施例中,如块516处所示,基于目标页面的开发者的喜好,定制内容被注入到文档中。以这种方式,可以包括或排除内容的某些部分。在块518,对文档取消隐藏。
[0060]参照回到图3,在块314,重建索引。标识目标页面的DOM中的每个链接,并且重建包含链接、链接的坐标、以及与每个链接对应的触发区域的触发区域坐标的索引。如先前描述的,web开发者可以从索引排除特定链接,或者包括指向将由特定链接更新的一个或多个容器的目标属性。
[0061]已经描述了本发明的实施例,下面描述其中可以实现本发明的实施例的示例性操作环境,以便提供用于本发明的各种方面的一般上下文。首先特别地参照图6,用于实现本发明的实施例的示例性操作环境被示出并且通常被指派为计算设备600。计算设备600只是适合的计算环境的一个示例,并且不旨在建议对使用范围或本发明的功能的任何限制。计算设备600也不应该被解释为具有与所图示的部件的任何一个部件或组合有关的任何依赖性或要求。
[0062]本发明可以在计算机代码或机器可使用指令的一般上下文中进行描述,包括计算机可执行指令,诸如由计算机或其它机器(诸如,个人数据助理或其它手持设备)执行的程序模块。通常,包括例程、程序、对象、部件、数据结构等的程序模块指的是执行特定任务或实现特定抽象数据类型的代码。本发明可以实践在各种系统配置中,包括手持设备、消费电子设备、通用计算机、较专用计算设备等。本发明还可以实践在分布式计算环境中,其中由通过通信网络链接的远程处理设备来执行任务。
[0063]参照图6,计算设备600包括直接或间接耦合以下设备的总线610:存储器612、一个或多个处理器614、一个或多个呈现部件616、输入/输出(I/O)端口 618、输入/输出部件620、以及说明性电源622。总线610表示其可以是一个或多个总线(诸如,地址总线、数据总线、或其组合)。虽然为了清楚起见,用线示出图6的各种块,但是在现实中,画出各种部件的轮廓并不是那么清楚,并且比喻性地来说,线更准确地将是灰色和模糊的。例如,可以将诸如显示设备之类的呈现部件视为I/O部件。还有,处理器具有存储器。发明人认识到这是本领域的性质,并且重申,图6中的图仅说明可以结合本发明的一个或多个实施例使用的示例性计算设备。在如“工作站”、“服务器”、“膝上型”、“手持设备”等这样的类别之间不做出区分,因为设想所有都在图6的范围内并且涉及“计算设备”。
[0064]计算设备600通常包括各种计算机可读介质。计算机可读介质可以是其可以由计算设备600访问的任何可用介质,并且包括易失性和非易失性介质、可移除和非可移除介质两者。通过示例而非限制的方式,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的以任何方法或技术实现的易失性和非易失性、可移除和非可移除介质两者。计算机存储介质包括但不限于RAM、R0M、EEPR0M、闪速存储器或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或者其可以用于存储期望信息并且可以由计算设备600访问的任何其它介质。计算机存储介质本身不包括信号。通信介质通常以调制数据信号(诸如载波或其它传输机制)来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息递送介质。术语“调制数据信号”意指以使得编码信号中的信息的方式设置或改变其特性中的一个或多个特性的信号。通过示例而非限制的方式,通信介质包括诸如有线网络或直接接线连接之类的有线介质以及诸如声学、RF、红外和其它无线介质之类的无线介质。上述项中的任何项的组合也应包括在计算机可读介质的范围内。
[0065]存储器612包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移除的、非可移除的、或其组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备600包括从诸如存储器612或I/O部件620之类的各种实体读取数据的一个或多个处理器。(多个)呈现部件616向用户或其他设备呈现数据指示。示例性呈现部件包括显示设备、扬声器、打印部件、振动部件等。
[0066]I/O端口 618允许计算设备600逻辑耦合到包括I/O部件620的其它设备(其中一些可以是内置的)。说明性部件包括麦克风、操纵杆、游戏板、卫星碟、扫描仪、打印机、无线设备等。I/O部件620可以提供其处理空中姿势、声音、或由用户生成的其它生理输入的自然用户接口(NUI)。在一些实例中,输入可以被传输到适当的网络元件以用于进一步处理。NUI可以实现语音识别、触摸和手写笔识别、面部识别、生物计量识别、屏幕上和邻近屏幕两者的姿势识别、空中姿势、头和眼跟踪、以及与计算设备600上的显示器相关联的触摸识别的任何组合。计算设备600可以装备有用于姿势检测和识别的诸如立体相机系统、红外相机系统、RGB相机系统、以及这些的组合之类的深度相机。附加地,计算设备600可以装备有使得能够检测运动的加速计或陀螺仪。加速计或陀螺仪的输出可被提供给计算设备600的显示器以渲染沉浸式增强现实或虚拟现实。
[0067]如可以理解的,本发明的实施例基于用户行为预测而预加载web内容。一些实施例使得能够预加载与预测链接相关联的所有内容。在其它实施例中,可以指定其使得能够预加载仅主体或指定容器的HTML的目标属性。其它实施例使得开发者能够定制全局事件(例如页面加载和卸载)。已经关于特定实施例(其旨在于在所有方面是说明性的而非限制性的)描述了本发明。备选实施例对于本发明所属领域的普通技术人员来说将变得显而易见,而不脱离其范围。
[0068]从前述内容,将看出的是,本发明很好地适于达到上面阐述的所有目的和目标连同系统和方法显而易见和固有的其它优点。将理解的是,某些特征和子组合是实用的,并且可以被采用,而不参考其它特征和子组合。这由权利要求的范围所设想,并且在权利要求的范围内。
【主权项】
1.一种存储计算机可使用指令的非瞬态计算机存储介质,所述计算机可使用指令当由一个或多个计算设备使用时使得所述一个或多个计算设备执行以下操作,所述操作包括: 标识与经由浏览器提供的当前页面对应的文档的文档对象模型中的一个或多个链接; 创建包含所述一个或多个链接的索引,所述索引包括所述一个或多个链接的坐标以及针对所述一个或多个链接中的每个链接的触发区域的触发区域坐标; 检测与所述触发区域的用户交互,所述触发区域与所述一个或多个链接中的链接相关联;以及 在所述检测后,禁用针对所述链接的标准点击行为。2.根据权利要求1所述的一个或多个计算机存储介质,还包括下载对应于所述链接的HTML文档。3.根据权利要求1所述的一个或多个计算机存储介质,还包括解析对应于所述链接的HTML文档的内容以取回相关联的图像、级联样式表(CSS)和JavaScr ipt。4.根据权利要求3所述的一个或多个计算机存储介质,还包括下载所述图像、CSS和JavaScr ipt 以缓存。5.根据权利要求1所述的一个或多个计算机存储介质,还包括如果事件影响所述一个或多个链接的所述坐标或者针对所述一个或多个链接之一的触发区域的触发区域坐标,则更新所述索引。6.根据权利要求1所述的一个或多个计算机存储介质,还包括确定所述一个或多个链接中的链接已被标识为排除。7.根据权利要求6所述的一个或多个计算机存储介质,还包括基于所述确定,从所述索引排除所述链接。8.根据权利要求1所述的一个或多个计算机存储介质,还包括标识指向将由所述一个或多个链接更新的一个或多个容器的一个或多个目标属性。9.根据权利要求8所述的一个或多个计算机存储介质,还包括下载将由所述链接更新的所述一个或多个容器。10.根据权利要求1所述的一个或多个计算机存储介质,还包括检测与所述链接的用户交互,所述链接对应于目标页面。11.根据权利要求10所述的一个或多个计算机存储介质,还包括转变到所述目标页面。12.根据权利要求11所述的一个或多个计算机存储介质,其中转变到所述目标页面包括: 隐藏与所述当前页面相关联的所述文档; 卸载所述当前页面的级联样式表(CSS)和JavaScript; 从所述当前页面的主体移除内容; 将所述目标页面的所述CSS和JavaScript与所述当前页面的所述CSS和JavaScript进行比较; 将缓存的CSS和JavaScript注入到所述文档中; 将新内容注入到所述文档的所述主体中;以及 对所述文档取消隐藏。13.根据权利要求11所述的一个或多个计算机存储介质,其中转变到所述目标页面包括如果指定了目标属性,则仅加载所述主体的HTML或指定容器的HTML。14.根据权利要求11所述的一个或多个计算机存储介质,其中转变到所述目标页面包括基于由所述目标页面的开发者包括或排除内容的某些部分,仅加载定制内容。15.根据权利要求11所述的一个或多个计算机存储介质,还包括重建所述索引。16.—种用于基于用户行为预测的智能web参考预加载的计算机化方法,所述计算机化方法包括: 经由第一计算处理,标识包含当前页面的一个或多个链接的索引,所述索引包括针对所述一个或多个链接中的每个链接的触发区域的触发区域坐标; 经由第二计算处理,检测与触发区域的用户交互,所述用户交互指示用户将点击与所述触发区域相关联的所述链接的预测; 经由第三计算处理,禁用针对所述链接的标准点击行为; 经由第四计算处理,下载与所述链接相关联的内容; 经由第五计算处理,检测与所述链接的用户交互,所述链接对应于目标页面; 经由第六计算处理,从所述当前页面转变到所述目标页面;以及 经由第十计算处理,重建所述文档的所述索引; 其中所述计算处理中的每个计算处理由一个或多个计算设备来执行。17.根据权利要求16所述的计算机化方法,其中所述内容不包括级联样式表或JavaScript ο18.根据权利要求16所述的计算机化方法,其中所述内容由一个或多个目标属性来标识,所述一个或多个目标属性指向在与所述一个或多个链接之一用户交互后将被更新的一个或多个容器。19.根据权利要求16所述的计算机化方法,还包括经由第十一计算处理,标识所述当前页面的排除链接,所述排除链接不会被建立到所述索引中。20.一种计算机化系统,包括: 一个或多个处理器;以及 存储计算机可使用指令的非瞬态计算机存储介质,所述计算机可使用指令当由所述一个或多个处理器使用时使得所述一个或多个处理器: 标识与当前页面对应的文档的文档对象模型中的一个或多个链接; 创建包含所述一个或多个链接的索引,所述索引包括所述一个或多个链接的坐标以及针对所述一个或多个链接中的每个链接的触发区域的触发区域坐标; 检测与所述触发区域的用户交互,所述用户交互指示用户将选择对应于所述触发区域的所述链接的预测,所述触发区域与所述一个或多个链接中与目标页面对应的一个链接相关联; 禁用针对所述链接的标准点击行为; 下载在选择所述链接后将被更新的所述目标页面的内容; 检测与所述链接的用户交互;以及 转变到所述目标页面。
【文档编号】G06F17/30GK105893446SQ201510954902
【公开日】2016年8月24日
【申请日】2015年12月17日
【发明人】A·凯普特, D·安蒂帕
【申请人】奥多比公司