将网页的源区域渲染为目标区域的制作方法

文档序号:6442039阅读:539来源:国知局
专利名称:将网页的源区域渲染为目标区域的制作方法
将网页的源区域渲染为目标区域
背景技术
在计算领域中,许多场景涉及由第一服务器提供的网页,该网页包含由第二服务器提供的一个或多个资源。作为第一实例,第二服务器可以作为诸如图像或音频或视频记录的一个或多个资源的主机,该资源可以通过引用嵌入由第一服务器提供的网页。作为第二实例,第二服务器可以提供可能包含在由第一服务器提供的网页中的信息,诸如一组新闻故事的标题和链接或者一组股票代号和价格。在这些和其它场景中,目标服务器(例如第一服务器)可提供目标网页,该目标网页包含以源服务器(例如第二服务器)为主机的一个或多个元素。作为实现这种包含的第一种技术,在对以目标服务器为主机的包含在网页中的资源(例如,图像、以诸如Javascript 的编程语言写成的脚本、以及指定网页的格式化的级联样式表(CSS)对象)的引用中,由目标服务器提供的目标网页可包含对以源服务器为主机的资源的一个或多个引用。该引用或者可以原生地将资源嵌入目标网页,或者可以将资源(潜在地包含第二服务器的整个网页) 封装在诸如内置帧(iframe)的构造(construct)内。当计算机的用户操作网页浏览器以接入目标网页时,目标服务器可以发送目标网页到浏览器,该目标网页包含对以目标服务器和源服务器为主机的资源的引用。在接收目标网页时,网页浏览器可以扫描网页以确认对网页中包含的各种资源的引用,可以从目标服务器和源服务器检索(retrieve)引用的资源,并且可以将资源(包含以源服务器为主机的资源)渲染在呈献给用户的网页中。

发明内容
此发明内容被提供从而以简化形式介绍构思选集,所述构思在下文中在具体实施方式
中进一步描述。此发明内容不是旨在确定所要求保护的主题的关键特征或必要特征, 也不是旨在用于限制所要求保护的主题的范围。将以源服务器为主机的资源包含在由目标服务器提供的目标网页中会是有利的, 例如用于允许协作嵌入、数据共享以及广告。然而,通过引用而包含资源(例如,其中目标网页包含对以源服务器为主机的资源的引用,所述资源被检索并且按照与以目标服务器为主机的资源等同的方式渲染在目标网页中)会带来一些缺点。作为第一实例,如果嵌入式资源不对应于目标网页(例如分配给资源的尺度),嵌入式资源和/或目标网页会看是歪斜的或者会无法正常起作用,除非源网页的开发者可能不得不开发另一版本的嵌入式资源。在源服务器的资源嵌入许多目标网页中的场景中,这种重新开发会是非常的高成本和耗时的, 但是不会对源网页或目标网页提供什么益处。再者,内置帧的使用会导致诸如源服务器的整个网页的整个资源的嵌入。这会是不期望的一例如目标网页的开发者会希望仅仅将一部分资源(诸如由源服务器提供的网页或图像的一部分)呈现到目标网页中一但是内置帧构造不支持这种使用。作为第二实例,资源可能不与目标网页完全兼容;例如,资源可包含具有具体大小的图像,但是目标网页会将资源嵌入不同大小的目标区域,导致图像(例如,通过成比例地或不成比例地缩放图像以满足目标区域的大小)和/或目标网页(例如,通过使目标网页的
4间距和其它格式失真)的尺度的不期望歪斜。作为另一这种实例,由源服务器提供的活动资源(诸如脚本或可执行对象)会不兼容目标网页,并且在目标网页内不正确地执行。例如当目标网页和/或资源的格式变化时,这种不兼容会变得更普遍。作为第三实例,将由源服务器提供的资源封装在内置帧中会引起一些安全性顾虑,并且/或者会产生限制资源的功能的一些安全性束缚。例如,已经设想到这样的利用以用于规避内置帧的内容和目标网页之间的网页浏览器的跨域束缚策略,使得目标网页可以与在内置帧中提供的资源通信,并且减小内置帧构造的安全性和信任的新利用可以在未来被确认。此处提出了用于改进将由源服务器提供的元素包含在由目标服务器提供的目标网页中的技术。依据这些技术,源服务器的资源不通过引用被目标网页包含,并且不按照与由目标服务器提供的资源类似的方式被渲染在目标网页中。相反,源服务器可以提供源网页,该源网页可包含以源服务器为主机的一个或多个资源(例如,文本、图像、音频或视频记录、脚本或者可执行对象)。源网页的源区域,诸如由具体一组坐标定义的源网页的具体区域,可以被指定从而出现在目标网页的目标区域中。因此,用户的网页浏览器可以渲染源网页,但是无法将源网页显示给用户。相反,网页浏览器也可以与源网页的渲染分开地渲染目标网页。网页浏览器于是可以提取源网页的源区域,并且可以将源区域呈现在目标网页的目标区域中。因而,不是将包含源区域的元素嵌入为目标网页的功能元素,这会与目标网页的功能相互作用(期望地和不期望地)和/或影响,源区域会在功能上受限制地在源网页内操作,但是还是可以出现在目标网页的目标区域中。与嵌入资源相比,这些技术可以给出若干优点。作为第一实例,允许目标网页指定 (例如,作为一组坐标)在目标网页的目标区域中呈现的源网页的具体源区域可以显著减小那里呈现的资源的重新开发。不是由源网页的开发者必须生成若干版本的嵌入式图像以匹配不同目标网页的布局和操作环境,目标网页可以简单地在目标区域中包含源区域,该源区域包含部分的当前存在的源网页。在广告的情形中,目标网页可以简单地指定在目标网页的目标区域中的任何选定部分的源网页。对于当前存在的包含在源网页中的广告,目标网页可以简单地调整所选择的源区域的尺度以匹配目标区域。再者,源网页的开发者可以根本不必创建广告;目标网页可以在目标区域中呈现源网页的任何选定部分,并且可以因此从源网页的普通内容创建广告。作为第三实例,目标网页可以呈现源网页的源区域而无需源服务器知悉或同意,由此利于源网页包含的内容与其它内容的“混搭”。作为此处给出的技术的第二示例性优点,包含源区域的元素在功能上不与目标网页的任何方面相互作用,并且不影响其功能。例如,由于源区域的呈现限制于目标区域的尺度(由目标网页指定),源区域中的元素的尺度不影响目标网页的格式。通常,在源网页中操作的元素可以在目标网页的目标区域中呈现,而没有由于源网页和目标网页的冲突配置引起的任何兼容性问题。作为此处给出的技术的第三示例性优点,因为在源区域中出现的元素在源网页中被渲染,元素可以被束缚到与源服务器(而不是目标服务器)关联的域。因此,这些元素可以可以与目标服务器和/或存储在计算机上并且被束缚到目标域的本地存储的资源(例如饼干文件)交互。再者,源服务器可以依赖于网页浏览器的跨域束缚策略,从而防止目标网页的元素利用源区域的包含以接入被束缚到源域的本地存储的资源;并且反过来,目标服务器可以依赖于跨域束缚策略,从而防止源区域的元素与被束缚到目标域的本地存储的资源交互。结果,源区域可以接入饼干文件和其它本地存储的源域资源,并且可以定制源区域中的内容而没有受目标网页干涉的顾虑。根据此处给出的技术通过在目标网页的目标区域中呈现源网页的元素,可以实现这些和其它优点。为了实现前述以及相关目的,下述描述和附图阐述某些说明性方面和实施。这些表示一个或多个方面可以被采用的各种方式中的仅仅一些。当结合附图考虑时,将从给下属详细描述显见本公开内容的其它方面、优点和新颖特征。


图1为示例性场景的说明图,其反映嵌入由目标服务器提供的目标网页的以源服务器为主机的资源。图2为示例性场景的说明图,其说明将由源服务器提供的资源嵌入由目标服务器提供的目标网页的第二可能缺点。图3为示例性场景的说明图,其反映在由目标服务器提供的目标网页的内置帧中呈现由源服务器提供的资源的第二可能缺点。图4为示例性场景的说明图,其反映依据此处给出的技术,在目标网页的目标区域中呈现源网页的源区域。图5为说明在目标网页的目标区域中呈现源网页的源区域的示例性方法的流程图。图6为说明在目标网页的目标区域中呈现源网页的源区域的示例性系统的组件框图。图7为示例性计算机可读取介质的说明图,其包含处理器可执行指令,该可执行指令配置成实施一个或多个此处阐述的条款。图8为示例性场景的说明图,其反映在目标网页的目标区域中呈现的源网页的第一示例性源区域。图9为示例性场景的说明图,其反映在目标网页的目标区域中呈现的源网页的第二示例性源区域。图10为示例性场景的说明图,其反映在目标网页的目标区域中呈现的源网页的第三示例性源区域。图11为示例性场景的说明图,其反映在目标网页的目标区域中呈现的源网页的源区域,其中源区域和目标分别被束缚到源域和目标域。图12为示例性场景的说明图,其反映跟踪服务器使用跟踪帧跟踪的用户与在目标网页的目标区域中呈现的源区域的交互。图13说明示例性计算环境,在该计算环境中可以实施一个或多个此处阐述的条款
具体实施例方式现在参考图示描述所要求保护的主题,其中相同附图标记始终用于指示相同元素。在下述描述中,出于解释目的而阐述许多特定细节从而提供对所要求保护的主题的彻底理解。然而会是清楚的是,可以没有这些特定细节来实践所要求保护的主题。在其它情形中,结构和设备以框图形式示出从而便于描述所要求保护的主题。在计算领域中,许多场景涉及由第一服务器提供的网页的渲染,其中该网页包含由第二服务器提供的一个或多个方面。作为第一实例,第二服务器可以作为将嵌入由第一服务器提供的网页的介质对象的主机,所述介质对象诸如为图像、音频或视频记录、或者渲染的文档。作为第二实例,第二服务器可以作为下述数据对象的主机,诸如可解释的脚本 (例如Javascript代码段),或者提供结合到网站的数据的数据对象(例如可扩展标记语言 (XML))数据文件,或者级联样式表(CSS),其指定可以在网页中以各种方式使用的网页的各种方面的布局和格式。作为第三实例,第二服务器可以提供将包含在网页中的信息(例如, 提供一组故事标题的新闻提要或网络日记,每个故事标题包含到提供完整故事的其它网页的超链接,所述故事标题将包含在网页的侧边栏)。在这些和其它场景中,由第一服务器提供的网页可包含由第二服务器提供的一个或多个资源,其中第二服务器(包含“源服务器”) 用作将包含在由第一服务器(包含“目标服务器”)提供的目标网页中的数据的源。附加地, 这些场景可以由目标服务器与源服务器协作实施(例如,广告场景,其中源服务器提供包含广告的图像,所述广告将包含在广告支持的目标网页中),或者不与源服务器协作实施(例如,嵌入目标网页而没有源服务器的知识、同意或协作的“盗链”图像)。许多技术可用于实现这种包含。作为第一实例,源服务器可以将数据直接提供到目标服务器,或者是在独立的基础上(例如,数据的周期性传递)或者是在自组织基础上(例如,当目标服务器从用户接收目标网页嵌套由源服务器提供的一个或多个资源的请求)。用户可以因此直接从目标服务器接收整个网页,而没有关于源服务器的存在或数据共享的知识。作为第二实例,由目标服务器提供的目标网页可以将一个或多个引用嵌入以源服务器为主机的资源。例如,根据超文本标记语言(HTML)格式化的网络文档可包含一个或多个 <img>标签,每个标签指定将图像嵌入网页中。目标服务器可以在网络文档中使用这个标签以指定以目标服务器为主机的图像,按照此方式
<img src=//http //www. target-server, com/image 1. jpg〃/ 但是也可以使用这个标签来指定以源服务器为主机的图像,按照此方式 <img src=//http //www. source-server, com/image2. jpg〃/
在接收来自用户的网页请求时,目标服务器可以提供网络文档,该网络文档包含对由用户操作的网页浏览器的这两个引用。网页浏览器可以首先扫描网络文档以确认引用的资源,并且可以随后发起请求以从各个服务器检索资源(例如,从目标服务器请求的“ imagel. jpg”图像,以及从源服务器请求的“image2. jpg”图像)。网页浏览器可以同时和/或连续地发出这种请求,并且可以接收和存储在网络文档中引用的每个资源。在收到一些或全部资源时,网页浏览器可以将网络文档渲染为包含图像的网页,并且将所所渲染的网页呈现给用户。网页浏览器因此通过嵌入实现将各种以源服务器为主机的资源包含在由目标服务器提供的网页中。可用于在目标服务器中呈现以源服务器为主机的资源的第二技术涉及将引用的资源封装在称为内置帧的构造中。内置帧支持以下述方式包含资源
〈iframe src=//http //www. source-server, com/index. html〃> 类似于资源的嵌入,在目标网页中使用内置帧允许包含存储在源服务器上的资源。同样,用户12的计算机14可以在检索和解析网络文档30时确认内置帧的存在,分配目标网页的布局中的空间,从源服务器检索资源,以及在目标网页中呈现资源。尽管在内置帧中包裹对远程存储资源的引用的安全性约束和潜在复杂性会增大渲染过程的复杂性,以源服务器为主机的内置帧典型地在目标网页中被隔离。附加地,内置帧可用于在第二网页中包含源服务器的整个网页。网页因此被组合和渲染在一起以在网页浏览器中生成网页。图1给出示例性场景10的说明图,其中用户12操作具有显示组件16的计算机14, 网页浏览器18可以在显示组件上生成一个或多个网站的呈现20。在此示例性场景10中, 通过发送请求沈到为目标网页M的主机的目标服务器观(例如,通过输入目标网页M的地址22),用户12可以使用网页浏览器18请求目标网页对。目标服务器观可以提供网络文档30(例如,超文本标记语言(HTML)文档),该网络文档包含对以各个源服务器34为主机的资源36的一个或多个引用32。例如,网络文档30可包含第一引用32,其嵌入以第一源服务器34为主机的第一资源36,诸如以第一源服务器34为主机的广告的图像;以及第二引用32,其嵌入以第二源服务器34为主机的第二资源36,诸如配置成检索和显示股票报价的应用。当用户12的计算机14接收网络文档30时,计算机14可以首先扫描网络文档30 以确认包含在其中的引用32,并且可以随后通过发送请求沈到第一源服务器34和第二源服务器34而发起对引用的资源36的检索。在接收一些或全部的资源36时,计算机14可以开始在网页浏览器18中渲染目标网页24。以此方式,通过检索引用的资源36,以及随后与网络文档30 —起渲染这些资源36以生成目标网页M向用户12的呈现20,图1的示例性场景10中的计算机14呈现目标网页对。图1的示例性场景10可以给出一些优点,例如,通过将由源服务器34提供的资源 36协作嵌入目标网页M而促进数据共享以及用于促进目标服务器观和(多个)源服务器 34之间的数据共享。资源36的嵌入也可以比较简单(例如,通过在网络文档30中包含对资源36的单个引用32),并且可以在没有源服务器34的知识、同意或协作情况下执行。这种技术可以因此在涉及松耦合或无耦合的目标服务器观和源服务器34的场景中会是有利的,例如在广告网络中,其中在该广告网络中,目标服务器观在各个用户12的请求时呈现网络文档30,目标服务器观(提供网络文档30)和源服务器34 (提供资源36)不交互或者甚至不知晓对方的身份,但是内容和资源36 —起出现在网页M中。然而,图1的示例性场景10中说明的技术会给出一些缺点。作为第一组实例,资源36可能不完全兼容目标网页M,使得目标网页M的渲染会失真或者无功能。例如,包含图像的资源36可以尺度不同于目标网页M的开发者的预计,并且因此会使目标网页24 的布局歪斜。反过来,网络文档30可以使图像歪斜以适合目标网页M中的期望的区域,例如通过不期望地或非故意地缩放、裁切和/或重新采样图像。对于包含将被嵌入目标网页 24的文本的资源36,会出现相似后果。例如,在网络文档30 (诸如由级联样式表(CSS))指定的格式会负面地影响由源服务器34提供的文本,并且文本因此会以过大、过小或无法读取的方式渲染。反过来,由源服务器34提供的大容量的文本会溢出在目标网页M中提供的区域,导致文本截断和/或目标网页M的布局失真。作为又一实例,将包含在目标网页 24中的活动元素,诸如可解释的脚本和可执行二进制文件,可能干涉目标网页M的其它元素,例如通过不期望地在目标网页M其它部分上渲染,或者通过拦截用户希望指向目标网页M的其它部分的用户输入。可替换地,由网络文档30指定的资源36的执行帧(例如,资源36将在其中被解释、执行或渲染的小程序或沙箱)会不兼容资源36,由此致使资源36的失效或限制。例如当源服务器34和/或目标服务器观的开发者变更目标网页24、资源36、 服务器的配置时,以及当用户12更新计算机14和网页浏览器18时,这种不兼容会变得更普遍。图2给出示例性场景40,其说明在这组实例中会出现的一种后果。在此示例性场景40中,目标网页对包含内容区域42,其包含内容(例如,新闻文章),该内容可以由目标服务器观或源服务器34提供;以及广告区域44,广告46将在该广告区域中显示。当用户 12的计算机14检索网络文档30以得到目标网页M时,网页浏览器18可以扫描网络文档 30以得到引用32,可以定位对广告46的引用32,可以向源服务器34发送关于广告46的请求26,以及在接收广告46时,可以与广告46 —起渲染网络文档30以生成目标网页M。然而,在此示例性场景40中,广告区域44和广告46的尺度的出入而出现问题;例如,广告区域44可以定位在目标网页M的空白中并且大小调适为具有高且窄形状的侧边旗,但是广告46会包含具有矮且宽形状的图像,该形状适合于定位在目标网页M底部。例如由于在目标网页M的开发者和/或源服务器34的开发者这部分上的误差或者他们之间的误解而会这种出入。结果,当广告46与网络文档30 —起被渲染时,广告46的形状和大小会致使广告区域44在宽度上大大增加,由此不期望地压缩内容区域42。附加地,尽管准确大小的广告46可以基本上或完全填充广告区域44,不准确大小的广告46会在广告区域44的顶部和底部留下大量的空间。网络文档30和广告46 —起渲染引起的这些后果一起导致目标网页M的退化视觉外观。图2的示例性场景40中说明的缩放问题也适用于内置帧。如果目标网页M定义内置帧的大小,则在内置帧中渲染的文档以指定的尺度渲染,并且因此会在内置帧中被呈现为不适当地小或大的文档。这些出入和不兼容会限制涉及下述的许多场景将以源服务器34为主机的资源 36嵌入目标网页M和/或将源服务器34的资源36或网络文档30输入内置帧。作为第一这种实例,在广告的情形中,广告客户可能已经开发以源服务器34为主机的一些广告资源,诸如旗广告或交互小程序。然而,由于与目标网页M的大小或兼容性出入,开发者会不得不调适资源36从而匹配目标网页24。如果资源36嵌入具有不同属性的许多目标网页 24,则这种重新开发会大规模地发生,由此导致显著且可能高的开发成本。再者,由于广告已经生成,这种重新开发的成本对于开发者或目标网页M不会带来什么益处。附加地,目标网页M的设计者会不希望包含源服务器34的整个资源36或网络文档30,而会仅仅希望包含网络文档30中的具体区域或者网络文档30或资源36的具体部分。然而,嵌入技术和内置帧构造不允许这种使用;目标网页M的开发者只可以指定将被嵌入或输入的资源36 或网络文档30的同一资源标识符(URI),其可以完全在目标网页M中被渲染。可以说明图1的示例性场景10中说明的嵌入技术中固有的一些后果的第二组实例涉及安全性限制或违反。在这种场景中,目标服务器观和源服务器34经常由不同角色的不同个体(例如,不同组织的雇员)操作,并且在一起渲染目标服务器观的网络文档30 (潜在地包含由目标服务器观提供的各种资源36)以及嵌入目标网页M的源服务器34的资源36时,操作服务器之一的个体可以故意地或非故意地利用或误用其它服务器的资源。作为第一这种实例,由源服务器34提供的可解释的脚本或可执行二进制文件可以配置成拦截用户12和目标服务器观之间的通信,例如通过接入与目标服务器观关联的以及存储在用户12的计算机14上的本地存储的资源(例如饼干文件),或者反之亦然。作为第二这种实例,由源服务器34提供的资源36可以利用在目标网页M中渲染的情形;例如,被提供以认证由目标服务器观提供的网络文档30和资源36的身份的安全证书会被不恰当地也应用到由源服务器34提供的资源36。通过一起渲染源服务器34的资源36以及目标服务器 28的网络文档30和资源36而生成目标网页对,会出现这种安全性问题。为了减小这种安全性顾虑,网页浏览器18经常实施跨域束缚策略。依据这种策略,用于在网页中渲染的由服务器提供的资源36可以仅仅与该服务器通信并且接入由该服务器提供的资源36,并且可以既不与另一服务器通信也不接入由另一服务器提供的任何资源36。通过将每个资源36与服务器的域(例如,网络域,其用作由该服务器提供的所有资源36的基址)关联,实施这种束缚。当第一资源36尝试接触服务器或接入第二资源时,网页浏览器18将与第一资源36关联的域与该服务器或第二资源比较,仅当第一资源36和该服务器或第二资源属于相同域时允许交互。例如,在用户12的计算机14执行的恶意制作的资源会通过下述而尝试接入用户12的银行信息接触银行服务器同时冒充用户12 ;窃听用户12和银行服务器之间的通信;和/或接入本地存储在用户12的计算机14上的饼干文件或银行服务器的其它资源36。通过实施跨域束缚策略可以阻挠这种入侵企图,使得不属于银行服务器的域的恶意制作的资源无法接触银行服务器,也无法接入在用户12的计算机14上存储或者在计算机14的网页浏览器18中执行的银行服务器的任何资源。每个资源36可以因此与和其它域关联的资源36隔离,由此提高计算机14的安全性和稳定性。然而,在图1的示例性场景10中,跨域束缚策略的实施会产生其它后果。例如,由于一起渲染源服务器34的资源36以及目标服务器观的网络文档30和资源36,跨域束缚策略会不完整或者被规避。例如,在一些嵌入布置中,通过允许有限的交互,目标服务器观和/或源服务器34其中之一会不得不将信任度量扩展到另一个,并且这种信任会被利用。 作为一个这种实例,在一些嵌入场景中,目标服务器观会不得不从源服务器34接收和存储资源36并且将资源36直接供应到用户12的计算机14,由此为资源36创造了利用对目标服务器观的域的接入的机会。反过来,跨域束缚策略会干涉目标服务器观和/或源服务器34会希望实施的一些合法类型的交互。例如,目标服务器观会希望允许在目标网页M 中渲染的第一资源36与也在目标网页M中渲染的第二资源36交互。然而,如果两个资源 36都在目标网页M中渲染,跨域束缚策略会禁止这种交互。由于根据图1的示例性场景 10中说明的嵌入技术,这种资源36和目标服务器观的网络文档30 —起渲染,跨域束缚策略的这些和其它后果因此会干涉目标网页M的资源36的外观和功能。图3给出示例性场景50,其说明在这组实例中会出现的一种后果。在此示例性场景50中,计算机14的用户12请求接入由目标服务器观提供的目标网页对,该目标网页在内置帧52中包含由源服务器34提供的一个或多个资源36,诸如通过源服务器34可供购买的各种产品的广告46。源服务器34的资源36可以关联且束缚到源域56(能够接入与源服务器34的源域56关联的,在用户12的计算机14上存储的源域资源58)。在许多情形中, 因为目标网页M不与源域56关联,目标网页M会无法接入源域资源58和/或与输入和呈现在内置帧52中的资源36通信。然而,因为内置帧52和目标网页M被网页浏览器18 一起渲染成为一个网页,可以并且已经设计了利用以规避跨域束缚策略的一些方面以及允许目标网页M和封在内置帧52中的资源36之间的通信。图3的示例性场景50中说明的附加问题涉及渲染目标网页M中源服务器34的资源36的方式。特别地,整个资源36被输入并且渲染在内置帧52中;例如,以源服务器 34为主机的整个图像由此被呈现。然而,目标网页M和/或源服务器34的开发者可能打算仅出现一部分的资源36,诸如网络文档30的视觉部分或者图像的部分或裁切部分。例如,在图3的示例性场景50中,目标网页M的开发者可能打算仅仅在目标网页M中出现描述具体产品的那部分图像,但是会只能够将包含所有图像的整个图像嵌入或封装在内置帧中。在将资源36嵌入或输入目标网站M的传统技术中会出现这些和其它缺点。此处给出了用于改进包含由源服务器34提供的一个或多个方面的目标网站M的呈现的技术。依据这些技术,目标服务器观可以提供包含目标区域的目标网页对,由源服务器34提供的各方面将出现在该目标区域中(例如,广告区域44,可以在该广告区域中呈现由广告客户提供的广告46),而不将源服务器34的资源36嵌入目标网页M。相反,源服务器34可以提供源网页,可以与目标网页M分开地由网页浏览器18渲染该源网页。源网页的具体源区域可以被定义(例如,界定源网页的区域的一组坐标),并且网页浏览器18可以提取源网页的源区域并且在目标网页M的目标区域中呈现源区域。提取可包含例如将源网页的显示区域裁切到源区域,并且随后在目标网页M的目标区域顶上显示此源区域。 附加地,提取的源区域在源网页的情形中继续操作(可选地与源网页中包含的其它资源36 交互,即使这种资源36在源区域外部并且不显示)。然而,与图1的示例性场景10中说明的嵌入技术对比,在目标网页M的目标区域中呈现从源网页提取的源区域不涉及嵌入目标网页M中的源服务器34的任何资源36,并且这种资源36不会与由目标服务器观提供的网络文档30和/或资源36相互作用,因为网页被分开渲染,并且在网页浏览器18中彼此隔离,如同渲染在单独网页浏览器窗口或单独选项卡中那样。这些技术因此维持源服务器34的资源36的功能,如同原生地在源网页操作那样,同时也提高这种资源36与包含目标网页M的目标服务器观的网络文档30和资源36的隔离。图4给出示例性场景60,其中此处给出的技术可用于向用户12呈现由目标服务器 28提供的目标网页66,该目标网页包含第一源服务器34和第二服务器34的一个或多个方面。在此示例性场景60中,计算机14的用户12再次请求由目标服务器观提供的目标网页66,该目标服务器可以向计算机12发送用于通过网页浏览器18渲染的网络文档30 (例如,超文本标记语言(HTML)文档),该网络文档指定目标网页66的各种方面。此目标网页 66包含由第一源服务器34提供的第一资源36 (例如,由广告客户提供的广告)以及由第二源服务器34提供的第二资源36 (例如,呈现股票报价的股票报价应用)。然而,依据此处给出的技术,网络文档30不包含嵌入这些资源36的引用30。相反,第一资源36嵌入由第一源服务器34提供的第一源网页62,并且第二资源36嵌入由第二源服务器34提供的第二源网页62。这些源网页62可以原生地由源服务器34提供(例如,呈献给访问源服务器34的网站的用户12的正常网页),和/或可以专门设计用于在目标服务器观的目标网页66中呈现20。为了将目标网页66呈现给用户12,计算机14的网页浏览器18可以首先检索目标网页66,可以渲染70目标网页66,并且可以根据网络文档30确认第一目标区域68和第二目标区域68,第一源区域64将呈现在该第一目标区域68中并且第二源区域64将呈现在该第二目标区域68中。因此,网页浏览器18可以从第一源服务器34检索第一源网页62 ; 渲染70第一源网页62 ;并且可以确认在第一源网页62中指定的第一源区域64。类似地, 网页浏览器18可以从第二源服务器34检索第二源网页62 ;可以渲染第二源网页62 ;并且可以确认在第二源网页62中指定的第二源区域64。网页浏览器18于是可以提取72第一源区域64 (例如,将所渲染的第一源网页62裁切到第一源区域64的边界)以及提取72第二源区域64,并且可以因此在第一目标区域68和第二目标网页66的目标区域68中呈现这些源区域64。以此方式,目标网页66可以看上去嵌入在源区域64中呈现的源网页62的各方面;然而,这些方面被渲染为单独网页,与目标网页66的内容隔离。图4的示例性场景60中说明的技术可以给出一些优点,特别是与图1的示例性场景10中给出的技术比较。作为第一实例,鉴于在具体目标区域68中呈现,可以按照许多方式调节源区域64的规格,诸如匹配目标区域68的尺度。结果,可以减少或消除资源的重新开发以实现源区域64的应用以适合目标区域68,由此导致显著的效率优点。再者,目标网页66可包含广告,并且通过选择源网页62的不同源区域64(例如,通过指定界定将包含在目标区域68中的任何期望区域的坐标),可以简单地生成混搭。例如,用于源网页62的广告或到源网页62的入口(portal)可以作为源区域64被包含在目标网页66中,即使选择的区域不是实际的广告,而仅仅是在源网页62上呈现的内容。附加地,目标网页66可以能够在目标网页66中包含源网页62的若干源区域64从而创建具有新或调节的布局的到源网页66的广告或入口,或者源网页62的内容与来自目标网页66和/或其它源网页62的内容的混搭。作为第二组优点,目标网页66的特征,诸如可以在目标服务器观和其它源服务器 36的网络文档30和资源36中指定,不影响源区域64的呈现。例如,在与目标网页66关联的级联样式表(CSS)中指定的文本的格式不影响源区域64中的文本的格式,因为它在源网页62中分开被渲染。附加地,目标网页66的配置的特征不会影响在源区域64中呈现的任何资源36的功能;如果源网页62在由网页浏览器18原生地渲染时可接受地起作用(例如, 当用户12访问源网页62时),这些元素在被提取且在目标网页66的目标区域68中呈现时也起作用。反过来,源区域64的属性无法影响格式、布局、目标网页66的任何方面的功能。 例如,如果源区域64中元素的大小不同于目标区域68的大小(如图2的示例性场景40那样),则这种差异会影响在目标区域68中的外观(例如,仅仅一部分图像可以出现,并且位于源区域64的部件外部的部分会被裁切掉),并且无法影响目标区域68外部的目标网页66 的外观的任何方面。作为图4的示例性场景60中呈现的第三组优点,在将资源36嵌入目标网页M中涉及的安全性问题以及跨域束缚策略的复杂性不影响源区域64在目标网页66的目标区域 68中的呈现。相反,源区域64在源服务器34的源域56中操作,因为它简单地被渲染为由源服务器34供应的源网页62,而其余的目标网页66在与目标服务器观关联的目标域M 中被渲染。根据网页浏览器18的安全性策略,这些不同区域彼此隔离成为在不同网页浏览器窗口中或者在不同网页浏览器选项卡中渲染的单独网页。结果,源区域64可以针对用户 12被定制(例如包含用户12的个人内容,诸如具有源网页62的用户12的帐户信息;或者用户12可能个人感兴趣的内容,诸如定制的新闻提要)。再者,由于源区域64和目标网页 68相互隔离,如同隔离在不同网页的不同渲染那样,源区域64可以针对用户12定制,而无需担心目标网页66会能够干涉这种个性化。这些和其它优点可以实现根据此处给出的技术。图5给出这些技术的第一实施例,其被说明为在目标网页64的目标区域68中呈现源网页62的源区域64的示例性方法90。示例性方法90例如可以被实施为一组软件指令,其存储在用户12的计算机14的存储器组件中(例如,系统存储器电路、硬盘驱动器的盘片、固态存储装置、或者磁盘或光盘),所述软件指令在由计算机14的处理器执行时,致使处理器执行此处给出的技术。示例性方法90在92开始,并且涉及在处理器上执行94指令。 更具体而言,指令配置成渲染96源网页62,以及从源网页72提取98源区域64。指令也配置成渲染100目标网页66,以及在目标网页66的目标区域68中向用户12呈现102源网页 62的源区域64。以此方式,指令致使计算机14在目标网页66的目标区域68中呈现源网页62的源区域64,并且示例性方法90结束于106。图6给出这些技术的第二实施例,其被说明为配置成在目标网页64的目标区域 68中呈现源网页62的源区域64的示例性系统116。示例性系统116例如可以被实施为包含一组组件的软件架构,每个组件包含存储在装置112的存储器组件(例如,系统存储器电路、硬盘驱动器的盘片、固态存储装置、或者磁盘或光盘)中的一组软件指令,所述软件指令在由装置112的处理器114 (同时或者连续地)执行时,致使处理器114执行此处给出的技术的一个或多个任务。示例性系统116包含网页渲染组件118,其配置成渲染源网页62以及渲染目标网页66。示例性系统116还包含源区域提取组件120,其配置成从源网页62提取源区域64。示例性系统116还包含目标区域插入组件122,其配置成在目标网页66的目标区域68中显示源网页62的源区域64。以此方式,示例性系统116致使装置112的处理器114依据此处给出的技术在目标网页66的目标区域68中呈现源网页62的源区域64。又一实施例涉及计算机可读取介质,其包含配置成应用此处给出的技术的处理器可执行指令。这种计算机可读取介质可包含例如计算机可读取存储介质,其涉及有形装置, 诸如存储器半导体(例如,利用静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM) 和/或同步动态随机存取存储器(SDRAM)技术的半导体)、硬盘驱动器的盘片、闪存装置、或者磁盘或光盘(诸如⑶-R、DVD-R或软盘),该有形装置编码一组计算机可读取指令,该指令在由装置的处理器执行时,致使该装置实施此处给出的技术。这种计算机可读取介质也可包含(作为与计算机可读取存储介质不同的一类技术)各种类型的通信介质,诸如可以通过各种物理现象(例如电磁信号、声波信号或者光学信号)并且在各种有线场景(例如经由以太网或光纤电缆)和/或无线场景(例如,诸如WiFi的无线局域网(WLAN),诸如蓝牙的个人局域网(PAN),或者蜂窝或射频网络)中传播的信号,并且该信号编码一组计算机可读取指令,该指令在由装置的处理器执行时致使该装置实施此处给出的技术。在图7中说明可以按照这些方式设计的示例性计算机可读取介质,其中实施方式 130包含计算机可读取介质132 (例如,⑶-R、DVD-R或者硬盘驱动器的盘片),计算机可读取数据134编码在该介质上。这种计算机可读取数据134进而包含一组计算机指令136,其配置成根据此处阐述的原理操作。在一个这种实施例中,处理器可执行指令136可以配置成执行在目标网页的目标区域中呈现源网页的源区域的方法,诸如图5的示例性方法90。在另一个这种实施例中,处理器可执行指令136可以配置成实施用于在目标网页的目标区域中呈现源网页的源区域的系统,诸如图6的示例性系统116。这种计算机可读取介质的一些实施例可包含非暂时性计算机可读取存储介质(例如,硬盘驱动器、光盘或闪存装置),其配置成存储按照此方式配置的处理器可执行指令。可以由本领域普通技术人员设计许多这种计算机可读取介质,其配置成依据此处给出的技术操作。
可以在许多方面进行变型以设计此处讨论的技术,并且一些变型可以相对于这些和其它技术的其它变型给出附加优点和/或减少缺点。再者,一些变型可以组合地实施,并且一些组合可以通过协同合作而表现出附加优点和/或减少的缺点。所述变型可以结合在各种实施例(例如,图5的示例性方法90和图6的示例性系统116)中以在这些实施例上授予单独和/或协同优点。可以在这些技术的实施例中变化的第一方面涉及可以利用这种技术的场景。作为第一变型,这些技术可用于向用户12呈现许多类型的网站以及包含在其中的资源36,其中源网页的元素62 (诸如文本、渲染的文档、图像、音频或视频记录、或者应用)将出现在目标网页66中。附加地,这些场景可以基于目标服务器观和源服务器34的明确或隐含的合作, 诸如希望在广告支持的目标网页M的广告空间44中呈现一些广告46的广告客户之间的广告关系。可替换地,如果目标服务器观和源服务器34不协作,以及甚至源服务器34不知晓或同意将源区域64包含在目标网页66的目标区域68中,这些技术可以被使用,例如在该目标区域中该目标网页66包含“混搭”以创建一组新内容,其中该混搭包含源网页62 的内容并且可选地包含若干源网页62的内容。本领域普通技术人员可以设计许多这种场景,在这些场景中可以利用其中此处给出的技术。可以在这些技术的实施例中变化的第二方面涉及探测源网页62的源区域64和/ 或目标网页66的目标区域68的方式。作为第一实例,目标网页66可以将目标区域68例如确认为界定目标网页66中的目标区域68的一组坐标(例如,“坐标(50,50)到(100,200)”), 或者确认为具有具体尺度的区域(例如,“大小为100像素x200像素,在目标网页的流布局中的位置内渲染的区域”)。作为第二实例,源网页62的源区域64可以类似地由源网页62 定义(例如,“由这些坐标在源网页62中定义的源区域64可以被提取用于包含在目标网页 66中”),或者可以由目标网页66定义(例如,“由这些坐标定义的源网页62的源区域64将被提取并且包含在此目标网页66中”)。目标网页66也可以指定源区域64在其中可以被渲染的具体类型的容器,例如,可以用作源区域64在目标网页66的布局中的占位符的内置帧。本领域普通技术人员可以设计许多方式来指示定义源区域64和/或目标区域68的存在和区域,同时实施此处给出的技术。可以在这些技术的实施例中变化的第三方面涉及提取源网页62的源区域64以及在目标网页66的目标区域68中呈现源区域64的方式。作为第一变型,源区域64可以按照许多方式被提取,诸如通过以不可见方式渲染源网页62,选择仅仅匹配源区域64的源网页 62的渲染的可见部分,并且定位源网页62的渲染,使得源区域64匹配目标网页66的目标区域68。在此实例中,整个源网页62在逻辑上被渲染,并且嵌入源网页62的所有资源36 被处理使得嵌入源区域64中的任何资源36可以与源区域64外部的嵌入源网页62中的资源36交互,仿佛整个源网页62是可见的,即使仅仅源区域64对于用户12是可见的。可替换地,实施例可以生成源区域64的提取的表示(例如,诸如屏幕捕获或视频记录的快照),并且可以在目标网页66的目标区域68中呈现提取的表示。作为这种第三方面的第二变型,源网页62的源区域64可以以许多方式定位在目标网页66的目标区域68中。如果目标区域68的属性(例如,形状、大小和分辨率)匹配源区域64的属性,源区域64可以简单地在目标区域68顶上呈现。然而,目标区域68的一种或多种属性可以不同于源区域64的属性。作为这种第二变型的第一实例,源区域64可以简单地定位在目标区域68上方(例如,匹配源区域64和目标区域68的中心或特定角落), 并且在目标区域68中不适合的源区域64的任何部分可以简单地被裁切和/或隐藏。这种隐藏会引起不期望的后果(例如,仅仅示出源区域64的一部分内容),但是可以保留目标区域68外部的目标网页66的布局。反过来,如果源区域64小于目标区域68,源区域64可以简单地定位在(例如,中心在)目标区域68中,并且目标区域68的其余部分可以无调节地被呈现(例如,使用由目标网页66指定背景颜色或图像)。
然而,在这种第二变型的其它实例中,源区域64可以按照各种方式被调节。在跟进此处给出的技术的原理时,会期望以不变更源区域64的内容和/或功能的方式调整源区域64 (例如,不相称地缩放源区域64,这会使其中呈现的内容的尺度变更和失真)。然而, 某些变更可以是源网页62的渲染的可接受和预期的变型,并且源网页62设计成在渲染时使用该变更。例如,网页浏览器18的用户12可以选择网页浏览器的某些属性,诸如浏览器窗口的尺度、在浏览器窗口中呈现的内容的缩放水平、以及在网页浏览器18中渲染的文本大小的大体调节(例如,大文本对小文本)。包含源网页62的许多网页可以设计成对于许多组这种属性被可接受地渲染。因此可以接受的是,在源网页62的渲染中指定或者调整这些相同属性,从而提取源区域64用于在目标区域68中呈现。
图8给出调节源网页62的源区域64以匹配目标网页66的目标区域68,而不变更源区域64的内容和/或功能的第一示例性场景140。在此示例性场景140中,源网页62包含源区域64,其将被提取并且呈现在目标网页66的目标区域68中。然而,每个区域可以具有用于一个或多个区域尺度(例如,高度、宽度、形状和颜色深度)的一组值,并且源区域64 的源区域尺度值会不匹配目标区域68的目标区域尺度值以得到相同区域尺度。例如,与目标区域68相比,源区域64可以具有更小的高度和宽度的值。因此,这些技术的实施例可以提取72源区域64,并且为了在目标区域68中呈现源区域64而可以调整142源区域64。按照某些方式调整142源区域64(例如,不相称地缩放,其变更源区域64的长宽比,从而导致源区域64的不期望地拉伸或压缩的呈现)会是无法接受的,因为这种操作对于源网页62不是典型地有效的或者不被源网页62支持。然而,该实施例可以按照可接受的方式调整142 源区域64,例如相称地缩放,这可以相当于用户12调节其中源网页62可以被渲染的网页浏览器18的缩放水平。因为源网页62和源区域64已经可以支持这种调节,执行这种调节从而调整142源区域64以匹配目标区域68会是有效的。
图9给出调节源网页62的源区域64以匹配目标网页66的目标区域68的第二示例性场景150。在此示例性场景150中,源区域64可以调节本身从而匹配目标区域68。因而,源区域64可以当其原生地在源网页62中被渲染时,呈现在源区域呈现中;以及当在目标网页66的目标区域68中渲染时,呈现在目标区域呈现中,其中目标区域呈现匹配具体目标区域68的区域尺度。作为第一这种实例,源服务器34可包含若干版本的源区域64(例如,若干版本的各种尺度中的图像)和/或可以按照自组织方式生成一个版本的源区域64, 并且可以因此能够提供合适版本的源区域64用于具有具体区域尺度的目标区域68(例如, 如果这种区域尺度被提供成为在关于源网页62的请求26中的同一资源标识符(URI)中的参数)。作为第二这种实例,源区域64可包含诸如脚本或可执行的活动资源,该活动资源可以接受关于目标区域68的区域尺度的参数,并且根据这种区域尺度可以能够调节在源区域64中可见的元素的布局和定位。因此,当源网页62被呈现在具有宽且短的长宽比的第一目标网页66的第一目标区域68中时(例如,目标网页66的顶部旗或底部旗),源服务器34 和/或源区域64中的资源36可以调整源区域64的内容以适合宽且短的长宽比。类似地, 当源网页62在具有窄且高的长宽比的第二目标网页66的第二目标区域68 (例如,目标网页66的侧边旗)中呈现时,源服务器34和/或源区域64中的资源36可以调整源区域64 的内容以适合窄且高的长宽比。
图10给出调节源网页62的源区域64以匹配目标网页66的目标区域68的第三示例性场景160。在此示例性场景160中,源网页62的源区域64配置成呈现源区域呈现,该源区域呈现在第一目标网页66的第一目标区域68中渲染时,匹配第一目标区域68 ;但是在第二目标网页66的第二目标区域68 (其不同于第一目标区域68)中渲染时,匹配第二目标区域68。因而,不涉及对源区域36的内容的调节以匹配目标区域68的区域尺度;相反, 源区域64的位置被调节从而选择合适的源区域64以匹配目标区域68。例如,如图10的示例性场景160中说明,源网页62包含广告,其冗余地沿着水平轴和竖直轴显示部分的广告。 为了针对宽且短的目标区域68(例如,目标网页66的顶部或底部旗)提取源区域64,可以选择第一源区域64,其包含该广告的水平阵列内容;并且为了针对窄且高的目标区域68 (例如,目标网页66的侧边旗)提取源区域64,可以选择第二源区域64,其包含该广告的竖直阵列内容。也可以包含附加变型;例如,源网页62可包含沿着水平和/或竖直轴另外对齐的补充内容,其可以包含在匹配更长或更高目标区域68的源区域64中。作为这种技术的另一实例(未不出),第一目标网页66可以具有具有第一颜色的颜色方案或背景,而第二目标网页66可以具有具有第二颜色的颜色方案或背景。源网页62可以因此包含在从第一颜色渐变到第二颜色的向外梯度中的内容,并且通过调整源区域64的大小使得在源区域64边缘的梯度的颜色匹配目标网页66的颜色,而可以被渲染到目标网页66的目标区域68。以此方式,源网页62可以固有地适合目标区域68的若干变型。本领域普通技术人员可以设计许多种方式以在实施此处给出的技术时,调节源网页62以使源区域64匹配目标网页66 的目标区域68。
可以在这些技术的实施例中变化的第四方面涉及域束缚,其会影响当在目标网页 66的目标区域68中呈现时,在源区域64 (或源网页62的其它部分)中呈现的资源36的功能。通常,因为源网页62从源服务器34供应并且因此被渲染,由网页浏览器18实施的跨域束缚策略可以利用源域56关联和束缚源网页62,该源域56与源服务器34关联。因而, 即使目标网页66被束缚到目标域54并且源区域62在目标网页66的目标区域68中呈现, 源区域64的资源36(以及源网页62中包含的其它资源36)还是与源域56关联,该源域56 与源服务器34关联。因此,网页浏览器18可以允许源网页62的资源36与源服务器34通信并且接入也与源域56关联的任何其它资源36 (包含在用户12的计算机14上存储的任何本地存储的源域资源(例如,饼干文件)),但是可以以其它方式隔离源网页62,使得资源 36既无法与任何其它源服务器34通信,目标服务器28也无法接入与任何其它域关联的资源36。附加地,跨域束缚策略也可以防止不与源域56关联的任何资源36 (例如,在目标网页64中操作的其它资源36)接触源网页32的资源36,其包含与源域56关联的任何本地存储的源域资源(例如饼干文件),并且防止接触源服务器34。与在图3的示例性场景50中应用到嵌入目标网页24中的资源36的那些束缚相比,这些束缚可以更强且更一致,并且因此不太容易规避。附加地,跨域束缚策略可以提供对源网页62的资源38的一些操作的较少干涉,因为整个源网页62现在从源服务器34供应并且因此与源域56关联。
在反映用户12与源服务器34关联的场景,例如,帐户、身份、交易、或者已经与源服务器34用户12的个人确认信息,可以出现本地存储的源域资源的这种跨域隔离的具体使用。源服务器34可以经常使用这种信息以确认用户12,从而在在呈献给用户12时定制源网页62(例如,通过在源网页62中包含关于用户12的帐户的信息,诸如相关产品和服务的广告,或者用户12的兴趣和设置,诸如用户12先前选择的源网页62的选择的布局)。特别地,源网页62可以存储一些信息作为本地存储源域资源,诸如在源网页62上用户12的用户名称或帐户号码,并且当用户12请求观看源网页62时,可以接入这种资源从而确认用户12并且定制源网页62。再者,作为此处给出的技术的结果,源服务器34可以将这种定制扩展到在目标网页68中呈现的源区域64的渲染。可以进行这种扩展而不顾虑目标网页 66会干涉本地存储的源域资源或者甚至探测该定制,因为源网页62被渲染成为与目标网页66完全不同的网页,尽管源区域64呈现在目标区域66中。
鉴于网页浏览器18的跨域束缚策略的束缚,在这种束缚中的若干附加变型可以呈现一些附加特征。作为第一变型,目标网页66可包含第二目标区域68,在该第二目标区域中,源网页62的第二源区域64可以被呈现(例如,由源服务器34呈现的以及从相同或不同源网页62的不同源区域64提取的顶部旗和底部旗)。然而,第一源区域64和第二源区域 64的开发者会寻求使得在这些源区域64中呈现的资源36能够通信,例如从而同步内容、动画的计时、或者用户12对用户交互的反应。这种相互通信可以按照各种方式实现。作为这种第一变型的第一实例,如果网页浏览器18认识到这些源区域64是从相同源网页62提取的,网页浏览器18可以渲染源网页62仅仅一次,并且可以因此从源网页62的同一渲染情形提取两种源区域64。因为这些资源36渲染为相同情形的源网页62 (并且被束缚到相同源域56),资源56会能够彼此直接通信,例如通过彼此引用的Javascript调用。(附加地, 与渲染两种单独情形的相同源网页62并且从不同情形提取不同源区域64相比,此实例给出提高的效率)。
如果网页浏览器18不将源区域64渲染为源网页62的相同实例,这种相互通信不会这么容易实现。然而,第一源区域64和第二源区域64的资源36之间的相互通信仍可以通过这种第一变型的其它实例实现。作为第二这种实例,因为源区域64中的资源36均与相同源域56关联,资源36可以通过源服务器34通信。例如,第一源区域64中的第一资源 36可以发送通信到源服务器34以递送到第二源区域64中的资源36 ;并且第二源区域64 中的第二资源36可以从源服务器34接收消息(例如,以推或拉的方式),并且可以因此从第一资源36接收消息。作为第三这种实例,资源36可以通过在用户12的计算机14上存储的源域资源(例如,饼干文件)通信。例如,第一源区域64中的第一资源36可以将通信存储在源域资源中的计算机14上,并且第二源区域64中的第二资源36可以检索源域资源以从第一资源36接收该通信。
图11给出示例性场景170的说明图,其描述这种通信类型。在此示例性场景170 中,目标网页66包含第一目标区域172和第二源区域176,第一源区域174 (从具体源服务器34供应)在第一目标区域172中呈现,其中第二源区域178 (从相同源服务器34供应) 在第二源区域176中呈现。目标网页66被关联且束缚到目标域54,并且可以接入本地存储在用户12的计算机14上的目标域资源54 (诸如饼干文件)。然而,第一源区域174和第17二源区域178中的资源36,尽管出现在目标网页62中,与源域56关联。因此,第一源区域 174中的第一资源36可以在用户12的计算机14上存储源域资源58(例如饼干文件),并且第二源区域178中的第二资源36可以检索源域资源58从而与第一资源36通信。以此方式,在源网页62的不同源区域64中呈现的资源36,即使与直接通信隔离,可以依据网页浏览器18的跨域束缚策略而间接地通信。附加地,这种通信不会被目标网页66的任何资源 36拦截,资源36与目标域54关联并且因此被跨域束缚策略束缚而无法接入本地存储的源域资源58。
作为这种第四方面的第二变型,网页浏览器18的跨域束缚策略可以与用户12与在源区域64中呈现的一个或多个资源36的用户交互有关。作为这种第二变型的第一实例, 因为源区域64的资源36与和源服务器34关联的源域56关联,资源36可以被允许向源服务器34通知该用户交互,并且可选地,可以使用从源服务器34接收的源服务器响应更新源区域64。
作为这种第二变型的第二实例,用户交互可以导致导航到不同网页。例如,用户12 可以在源区域64中呈现的超链接上点击,或者源区域64可以通过将用户12发送到由源服务器34提供的第二源网页62而响应于用户交互(例如,点击按钮)。例如,产品的广告会鼓励用户12在广告上点击以访问另一源网页62,该另一源网页全面描述该产品或者包含销售形式。然而,由于源区域64与目标网页66其余部分隔离,通过导航离开目标网页66以及按照“弹出超过”的方式(通过超过目标区域68的边界而阻挠一部分的目标网页66),源区域64会无法实现这种导航。相反,在第一这种实例中,导航可以在源区域64中进行,使得源区域64呈现第二源网页。在第二这种实例中,其中目标网页66被呈现在第一网页接口中(例如,在计算机14的显示组件16上呈现的网页浏览器窗口,或者网页浏览器18中的选项卡),导航会致使在不同网页接口中呈现第二源网页62。因此,这些技术的实施例可以配置成,在从用户12接收与源区域64的用户交互时,例示第二网页接口(例如,新网页浏览器窗口,或者网页浏览器18中的新选项卡),并且致使网页浏览器18渲染第二源网页62以及将第二源网页62在第二网页接口中呈现给用户12。
作为这种第二变型的第三实例,在一些场景中,跟踪服务器可以被提供以跟踪各个用户12与在源区域64中呈现的资源36的用户交互。例如,广告代理可以配置成跟踪用户12与由客户提供的广告的用户交互,并且可以使用该信息提供广告收入给目标服务器 28和/或针对广告服务开帐单。因此,源区域64的资源36可以配置成向跟踪服务器通知从各个用户12接收的用户交互。然而,源区域64的资源36与源域56的关联会干涉跟踪用户12的用户交互的尝试。由于跨域束缚策略,源区域64中的资源36会被允许仅仅与源服务器34通信,并且不与跟踪服务器通信。
图12给出示例性场景180的说明图,其反映一种鉴于跨域束缚策略用于实现这种跟踪的技术。在此示例性场景180中,从目标服务器28供应(并且因此被束缚到目标域54) 的目标网页66可包含目标区域68,在该目标区域中呈现从源网页62(由源服务器34供应, 并且因此被束缚到源域56)提取的源区域64。用户12可以将用户交互188导向在源区域 64中呈现的资源36,例如通过在目标区域68中点击。可以提供跟踪服务器186以跟踪用户交互188,但是可以无法直接与源区域64通信以接收用户交互188的通知。相反,跟踪服务器可以提供跟踪帧182,其可以包含置于目标区域38上方的隐藏控制并且配置成接收由用户12导向到源区域64的资源36的用户交互。因为跟踪帧182由跟踪服务器186供应, 跟踪帧182可以与跟踪服务器186的跟踪域184关联,并且可以因此被允许依据网页浏览器18的跨域束缚策略而与跟踪服务器186关联。例如,跟踪帧182可以从用户12接收用户交互188,并且可以向跟踪服务器186通知用户交互188。跟踪帧182可以随后将该交互传播到目标网页66的目标区域68,由此允许用户交互188到达在源区域64中呈现的资源 36。本领域普通技术人员可以设计许多种配置特征的方式,从而在实施此处给出的技术的同时,遵守网页浏览器18的跨域束缚策略。
尽管按照结构特征和/或方法论行为特有的语言描述了本主题,应理解所附权利要求中限定的主题不一定限于上述的特定特征或行为。相反,上述的特定特征和行为被公开作为实施权利要求的实例形式。
如在本申请中所使用,术语〃组件〃、〃模块〃、〃系统〃、〃接口〃等通常旨在表示计算机相关实体,其或者为硬件、硬件和软件的组合、软件,或者为执行中的软件。例如,组件可以是但不限于在处理器上运行的进程、处理器、对象、可执行、执行线程、程序和/或计算机。通过说明的方式,在控制器上运行的应用和该控制器都可以是组件。一个或多个组件可以存在于过程和/或执行线程中,并且组件可以局限在一个计算机上和/或分布在两个或更多个计算机之间。
再者,所要求保护的主题可以使用标准编程和/或工程技术被实施为方法、设备或制造品,从而产生软件、固件、硬件或其任何组合以控制计算机从而实施所公开的主题。 术语〃制造品〃在此处使用旨在包含从任何计算机可读取设备、载体或介质可接入的计算机程序。当然,本领域技术人员将意识到可以对这种配置进行许多调整而不背离所要求保护的主题的范围或精神。
图13和下述讨论提供对实施此处阐述的一个或多个条款的实施例的合适计算环境的简要的一般描述。图13的操作环境仅仅是合适操作环境的一个实例并且目的不是暗示对操作环境的用途或功能范围的任何限制。实例计算装置包含但不限于个人计算机、服务器计算机、手持或膝上型设备、移动设备(诸如移动电话、个人数字助理(PDA)、媒体播放器等),多处理器系统、消费电子器件、微型计算机、大型计算机、包含任何上述系统或设备的分布计算环境等。
尽管没有要求,在由一个或多个计算装置执行的“计算机可读取指令”的通常情形中描述各实施例。计算机可读取指令可以经由计算机可读取介质(如下述)分布。计算机可读取指令可以被实施为执行具体任务或实施具体抽象数据类型的程序模块,诸如函数、对象、应用编程接口(API)、数据结构等。典型地,计算机可读取指令的功能可以在各种环境中根据需要组合或分布。
图13说明系统190的实例,其包含配置成实施此处提供的一个或多个实施例的计算装置192。在一种配置中,计算装置192包含至少一个处理单元196和存储器198。取决于计算装置的确切配置和类型,存储器198可以是易失性的(例如,诸如RAM)、非易失性的 (例如,诸如R0M,闪存等)或者二者的某种组合。这种配置在图13中用虚线194说明。
在其它实施例中,装置192可包含附加特征和/或功能。例如,装置192也可包含附加存储设施(例如,可移动的和/或不可移动的)包含但不限于磁性存储设施、光学存储设施等。这种附加存储设施在图13中由存储设施200说明。在一个实施例中,实施此处提供的一个或多个实施例的计算机可读取指令可以在存储设施200中。存储设施200也可以存储其它计算机可读取指令以实施操作系统、应用程序等。计算机可读取指令例如可以载入存储器198以由处理单元196执行。
此处使用的术语“计算机可读取介质”包含计算机存储介质。计算机存储介质包含在诸如计算机可读取指令或其它数据的信息的存储的任何方法或技术中实施的易失性的和非易失性的、可移动和不可移动的介质。存储器198和存储设施200为计算机存储介质的实例。计算机存储介质包含但不限于RAM、ROM、EEPR0M、闪存或其它存储器技术、CD-ROM、 数字多功能盘(DVD)或者其它光学存储设施、磁盒、磁带、磁盘存储设施或者其它磁性存储装置,或者可以用于存储期望信息并且可以由装置192接入的任何其它介质。任何这种计算机存储介质可以可以是装置192的一部分。
装置192也可包含(多个)通信连接206,其允许装置192与其它装置通信。(多个) 通信连接206可包含但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器 /接收器、红外端口、USB连接、或者用于将计算装置192连接到其它计算装置的其它接口。 (多个)通信连接206可包含有线连接或无线连接。(多个)通信连接206可以发射和/或接收通信介质。
术语“计算机可读取介质”可包含通信介质。通信介质典型地在诸如载波或其它传输机制的“调制数据信号”中实施计算机可读取指令或其它数据,并且包含任何信息递送介质。术语“调制数据信号”可包含这样的信号,该信号的一种或多种其特性被设置或改变从而在该信号种编码信息。
装置192可包含(多个)输入装置204,诸如键盘、鼠标、手写笔、语音输入装置、触摸输入装置、红外相机、视频输入装置和/或任何其它输入装置。诸如一个或多个显示器、 扬声器、打印机和/或任何其它输出装置的(多个)输出装置202也可以包含在装置192中。 (多个)输入装置204和(多个)输出装置202可以经由有线连接、无线连接或其任何组合而连接到装置192。在一个实施例中,来自另一计算装置的输入装置或输出装置可以用作用于计算装置192的(多个)输入装置204或(多个)输出装置202。
计算装置192的组件可以通过诸如总线的各种互连来连接。这种互连可包含诸如 PCI Express的外围组件互连(PCI )、通用串行总线(USB)、火线(IEEE 1394)、光学总线结构等。在另一实施例中,计算装置192的组件可以通过网络互连。例如,存储器198可以包含位于不同物理位置通过网络互连的多个物理存储器单元。
本领域技术人员将理解,用于存储计算机可读取指令的存储装置可以遍及网络分布。例如,经由网络208可接入的计算装置210可以存储计算机可读取指令以实施其中提供的一个或多个实施例。计算装置192可以接入计算装置210并且下载部分或全部的计算机可读取指令以供执行。可替换地,计算装置192可以根据需要下载多块计算机可读取指令,或者一些指令可以在计算装置192执行被并且一些在计算装置210执行。
此处提供了实施例的各种操作。在一个实施例中,一个或多个所述操作可以构成存储在一个或多个计算机可读取介质上的计算机可读取指令,该执行在由计算装置执行时将致使计算装置执行所述操作。描述一些或全部的顺序不应解读为暗示这些操作一定依赖于顺序。本领域技术人员将理解具有此说明书的益处的可替换排序。另外,将理解不一定在此处提供的每个实施例中存在所有的操作。
再者,措词〃示例性〃在此处使用以表示用作实例、例子或说明。此处描述成〃示例性"的任何方面或设计不一定解读为较其它方面或设计是有利的。相反,词语示例性的使用旨在以具体的方式给出构思。如本申请中所使用,术语"或"旨在表示包容性的"或" 而不是排除性的〃或"。也就是说,除非另外指出,或者从上下文清楚,"X采用A或B"旨在表示任何的自然包容性置换。也就是说,如果X采用A ;X采用B ;或者X采用A和B 二者, 则在任何前述情形中"X采用A或B"是满足的。此外,本申请以及所附权利要求中使用的冠词〃 一 〃和〃 一个〃可以通常解读为表示〃 一个或多个",除非另外指出或从上下文清楚涉及单数形式。
另外,尽管已经结合一个或多个实施示出和描述了本公开内容,本领域其它技术人员基于对此说明书和附图的阅读和理解将想到等效变更和调整。此公开内容包含所有这种调整和变更,并且仅仅由下述权利要求的范围限制。特别是关于由上述组件(例如元素、 资源等)执行的各种功能,用于描述这种组件的术语打算对应于(除非另外之处)执行所述组件的指定功能的任何组件(例如,在功能上相当),即使在结构上不相当于在本公开内容的此处说明示例性实施方式中执行该功能的所公开结构。此外,尽管本公开内容的具体特征结合若干实施方式其中仅仅一个而被公开,这个特征可以与其它实施方式的一个或多个其它特征组合,这会是期望的且对于任何给定或具体应用会是有利的。再者,对于在详细描述或权利要求中使用的术语〃包含"、〃具有"、〃有着"、〃有〃或其变型,这种术语旨在按照与术语〃包含〃相似的方式是包容性的。
权利要求
1.一种在具有处理器(114)的装置(112)上,在目标网页(66)的目标区域(68)中向用户(12)呈现源网页(62)的源区域(64)的方法(90),该方法(90)包含在该处理器(114)上执行(94)指令(136),该指令配置成 渲染(96)该源网页(62); 从该源网页(62)提取(98)该源区域(64); 渲染(100)该目标网页(66);以及在该目标网页(66)的目标区域(68)中向该用户(12)呈现(102)该源网页(62)的源区域(64)。
2.权利要求1的方法,该目标网页根据界定该源区域的该源网页中的一组坐标而指定该源区域。
3.权利要求1的方法该源区域具有用于区域尺度的至少一个源区域尺度值;该目标区域具有用于该区域尺度的至少一个目标区域尺度值,该目标区域尺度值不同于该源区域尺度值;以及所述指令配置成调整从该源网页提取的源区域,以匹配该目标区域的该目标区域尺度值。
4.权利要求1的方法 该源区域配置成渲染成为在该源网页中渲染时的源区域呈现,以及在目标网页的目标区域中渲染时的目标区域呈现;以及渲染该源网页包含根据该目标区域呈现,渲染该源网页的源区域。
5.权利要求1的方法,该源区域包含源区域呈现在第一目标网页的第一目标区域中渲染时,该源区域呈现匹配该第一目标区域;以及在不同于该第一目标区域的第二目标网页的第二目标区域中渲染时,该源区域呈现匹配该第二目标区域。
6.权利要求1的方法该目标网页被束缚到目标域;以及当在该目标区域中呈现时,该源区域被束缚到与该源网页关联的源域。
7.权利要求6的方法该装置存储被束缚到该源域的至少一个源域资源;以及该源区域配置成接入该至少一个源域资源。
8.权利要求7的方法至少一个源域资源与该用户与该源网页的关联相关联;以及该源区域配置成使用该至少一个源域资源来定制用于该用户的源区域。
9.权利要求6的方法该目标网页包含第二目标区域;该源网页包含在该第二目标区域中呈现并且被束缚到该源域的第二源区域;以及该源区域配置成与该第二源区域通信。
10.权利要求9的方法该源域与源服务器关联;以及该源区域配置成,通过发送通信到该源服务器用于递送到该第二源区域,与该第二源区域通信。
11.权利要求9的方法,该源区域配置成通过下述与该第二源区域通信 配置该源区域以在该装置上存储被束缚到该源域的至少一个源域资源;以及配置该第二源区域以检索该至少一个源域资源。
12.权利要求6的方法,该源区域配置成从该用户接收与该源区域的用户交互。
13.权利要求12的方法,该源区域配置成在接收该用户交互时 向该源服务器通知该用户交互,以及在从该源服务器接收源服务器响应时,使用该源服务器响应更新该源区域。
14.权利要求12的方法,该指令配置成在接收该用户交互时 渲染第二源网页,以及在该目标网页的目标区域中向该用户呈现该第二源网页。
15.一种系统(116),其配置成在目标网页(66)的目标部分中渲染源网页(62)的源部分,该系统(116)包含网页渲染组件(118),其配置成渲染(96)该源网页(62),以及渲染(100)该目标网页(66); 源区域提取组件(120),其配置成从该源网页(62)提取该源区域(64);以及目标区域插入组件(122),其配置成在该目标网页(66)的目标区域(68)中显示该源网页(62)的源区域(64)。
全文摘要
目标网页可以嵌入以源服务器为主机的资源。然而,这种嵌入会导致兼容性和/或安全性问题;例如,嵌入式资源的尺度会使目标网页的布局歪斜。相反,源网页可以与目标网页分开被渲染,并且源网页的源区域(例如,由一组坐标定义的区域)可以从源网页提取并且可以在目标网页的目标区域中呈现。源区域的元素可以在源网页中隔离地显示和执行,并且可以在源域中操作(例如,与源服务器通信并且接入由源服务器存储的饼干文件),但是又不会与目标网页的元素交互,由此减轻许多兼容性和安全性问题。
文档编号G06F17/30GK102542017SQ20111042620
公开日2012年7月4日 申请日期2011年12月19日 优先权日2010年12月17日
发明者C.S.埃斯特斯, G.加鲁达, R.S.库马, W.J.聪 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1