域内网页编辑的制作方法

文档序号:15884370发布日期:2018-11-09 18:34阅读:150来源:国知局
域内网页编辑的制作方法

本申请要求2015年8月27日提交的标题为“in-domainwebpageediting”的美国专利申请第14/837,239号的权益和优先权,其全部内容通过引用并入本文。

背景技术

所见即所得(wysiwyg)编辑器可以用于编辑网页的元素(例如,文本、字体、格式等)以便进行实验或者向用户提供个性化体验。例如,网站所有者可以更改他的或者她的网页的标题,并且使用该变化来对5%的网站访问者进行实验,并且查看是否其执行得好于原始网页的标题。可替代地,网站所有者可以将该变化显示给诸如为美国的汽车所有者的用户的一部分作为个性化体验的一部分。



技术实现要素:

本公开的一种说明性实施方式涉及一种编辑网页内容的方法。该方法包括:由一个或者多个处理器接收待编辑的网页的标识符。该方法进一步包括:有一个或者多个处理器基于标识符确定浏览器应用已经导航至的当前网页是否是待编辑的网页。该方法进一步包括:响应于确定当前网页是待编辑的网页,由一个或者多个处理器生成被配置为接收对网页内容的修订的界面,该界面被提供在网页的域内。该方法进一步包括:由一个或者多个处理器接收对网页的修订;以及由一个或者多个处理器生成包括接收到的修订的修订数据。该方法进一步包括:由一个或者多个处理器将修订数据存储到数据库中以便随后在网页内实现。

另一实施方式涉及一种系统。该系统包括:至少一个计算装置,该计算装置可操作地耦合至至少一个存储器。至少一个计算装置被配置为:接收待编辑的网页的标识符并且基于标识符确定浏览器应用已经导航至的当前网页是否是待编辑的网页。至少一个计算装置进一步被配置为:响应于确定当前网页是待编辑的网页,生成被配置为接收对网页内容的修订的界面,该界面被提供在网页的域内。至少一个计算装置进一步配置为:接收对网页的修订;生成包括接收到的修订的修订数据;以及将修订数据存储到数据库以便随后在网页内实现。

再一实施方式涉及一个或者多个在其上储存有指令的计算机可读存储介质,所述指令在由一个或者多个处理器执行时使该一个或者多个处理器执行操作。该操作包括:接收待编辑的网页的标识符,该标识符至少包括待编辑的网页的第一统一资源定位符(url)的一部分。该操作进一步包括:接收浏览器应用已经导航至的当前网页的第二url。该操作进一步包括:将标识符与第二url相比较;以及响应于至少确定第二url的域与标识符相匹配,确定当前网页是待编辑的网页。该操作进一步包括:响应于确定当前网页是待编辑的网页,生成被配置为接收对网页内容的修订的界面,该界面包括第一界面部分和第二界面部分。生成界面包括:在内嵌框架内提供第一界面部分;在网页的域内的内嵌框架外部提供第二界面部分;以及响应于至少确定第二url的域与标识符相匹配,在第一界面部分和第二界面部分之间建立通信信道。该操作进一步包括:经由第二界面部分来接收对网页的修订;以及经由通信信道来将修订从第二界面部分传输至第一界面部分。该操作进一步包括:生成包括接收到的修订的修订数据;以及接收批准修订的指示。该操作进一步包括:通过第一界面部分将修订数据存储到数据库以便随后在网页内实现,限制第二界面部分向数据库传输数据。

附图说明

在附图和下面的描述中阐述了在本说明书中描述的主题的一个或者多个实施方式的细节。本主题的其它特征、方面、和优点将通过描述、附图、以及权利要求书而变得显而易见。

图1是根据说明性实施方式的编辑系统和相关联的环境的框图。

图2是根据说明性实施方式的图1的编辑系统的详细实施方式的框图。

图3是根据说明性实施方式的在网页的域内编辑网页的过程的流程图。

图4是根据说明性实施方式的用于编辑网页的界面的图示。

图5是根据说明性实施方式的在网页的域内提供用于接收对网页的修订的界面的过程流的图示。

图6是根据说明性实施方式的计算系统的框图。

具体实施方式

大体上参照附图,提供了各种说明性系统和方法,该各种说明性系统和方法可以用于提供用于在网页的域内编辑网页元素(例如,文本、字体、格式等)的网页编辑器(例如,wysiwyg编辑器)。wysiwyg编辑器可以用于编辑网页的文本以便进行实验或者向用户提供个性化体验。这种编辑器可以用于更改网页的数据的各种元素(例如,html元素)。

通过反向代理方法来提供一些编辑器。在反向代理方法下,在除了页面源自的域以外的域处编辑网页。网页所有者可以向编辑服务提供待编辑的页面的统一资源定位符(“url”),并且服务可以在服务的域内加载页面。通过使用可访问网页的编辑器来将代码注入到网页中以实现更改。

反向代理可能导致各种问题。例如,不将代理域的请求列入白名单的服务器可以拒绝页面对内容的请求。如果协议从超文本传输协议(http)升级到安全超文本传输协议(https)并且内容不可通过https获得,则协议相关链路可能中断。此外,代理域不能访问原始域处的用户定制(例如,在cookie数据内实现的),所以,与原始域中的帐户相关联的任何定制将不会存在于编辑器中(例如,在付费墙或者其它登录后的内容)。

在一些实例中,采用反向代理的实施方式还可能遇到一些框架破坏限制。例如,不希望内容接下来在另一域内出现在内嵌框架内的所有者可以采用框架破坏技术。这种技术可以由浏览器本身强制执行和/或由添加到网页数据的脚本强制执行。在反向代理场景中,顶部窗口的url(例如,在地址栏中)可以是编辑应用的url,并且用户想要编辑的内容可以被代理并且被放置在iframe(内嵌框架)中。在一些实施方式中,反向代理服务器可以去除http响应头,但是可能不能检测定制框架破坏脚本的所有变化。在这种场景中,框架破坏内容可能不可由编辑应用来编辑。

本公开的各种实施方式被配置为提供用于在网页源自的域内编辑网页的界面。可以从用户(例如,网站所有者)接收待编辑的网页的标识符(例如,url)。该标识符可以用于确定浏览器应用已经导航至的当前网页是否是待编辑的网页。例如,可以监测当前url以确定用户是否先前指示了期望修改网页。如果该url至少是部分匹配的(例如,如果域匹配),并且接收到用户希望编辑网页的指示(例如,通过输入附加到网页url的令牌),则可以生成用于编辑网页的界面。

将该界面提供在网页源自的域内。例如,在一些实施方式中,可以通过将脚本注入到网页中来生成界面。可以通过若干方法中的任何一种方法来注入脚本。在一些实施方式中,可以通过使用插件将脚本注入到浏览器应用。在一些实施方式中,可以通过使用已经存在于网页中的代码来注入脚本,诸如,与在网页内提供动态内容相关联的代码和/或与提供有关访问者在网页上的活动的分析相关联的代码。在一些实施方式中,可以通过使用书签工具或者存储在浏览器应用的书签中的应用来注入脚本。

在一些实施方式中,可以将界面分为两部分。界面的可信部分可以与存储稍后在网页内实现的更改的数据库通信。界面的不可信部分可以接收来自用户的更改并且将该更改传送至可信部分。在一些实施方式中,可信部分可以直到确认当前网页是待编辑的网页(例如,基于当前url与先前提供的待编辑的url相匹配),才与不可信部分建立通信信道。在一些实施方式中,可以将可信部分提供在网页的内嵌框架(“iframe”)内。可信部分可以向不可信部分查询任何修订,并且不可信部分可以用从用户接收到的修订列表进行响应。在一些实施方式中,可信部分可以等待接收来自用户的修订完成和/或批准修订的指示,并且然后可以将修订数据存储到数据库。

现在参照图1,并且按照简要描述的方式,示出了根据说明性实施方式的编辑系统150和相关联的环境100的框图。用户可以使用一个或者多个用户装置104来执行各种动作和/或访问各种类型的内容,其中一些内容可以通过网络102(例如,互联网、lan、wan等)来提供。例如,用户装置104可以用于访问网页(例如,通过使用互联网浏览器)、媒体文件、和/或任何其它类型的内容。可以将内容管理系统108配置为选择用于在资源内(例如,网页、应用等)显示给用户的内容,并且通过网络102来将内容项从内容数据库110提供至用户装置104以便在资源内显示。可以由一个或者多个内容提供商使用一个或者多个内容提供商装置(未示出)经由网络102提供内容管理系统108从中选择项目的内容。在一些实施方式中,内容管理系统108可以通过使用一种或者多种类型的拍卖过程来选择待呈现给用户的项。例如,内容提供商可以提交对待呈现给用户的内容的出价,并且可以至少部分地基于该出价来选择待呈现的内容。可以将内容呈现在网页内的一个或者多个内容界面或者其它资源内。

例如通过使用在用户装置104上操作的浏览器应用可以将网页呈现给用户装置104上的用户。用户装置104的浏览器应用可以导航到托管网页的地址(例如,通过将统一资源定位符或者url输入到浏览器的导航界面中)。作为响应,web托管系统130可以经由网络102来向用户装置104传输表示网页的内容的网页数据135。在一些实施方式中,网页数据135可以是或者包括超文本标记语言、或者html、数据。在一些实施方式中,网页数据135可以包括被配置为执行网页的某些功能的一个或者多个脚本(例如,javascript)。例如,嵌入在网页数据中的脚本可以获取诸如营销内容项的内容(例如,文本、图像、视频等),并且将内容嵌入在网页内,获取来自用户的输入,修改一个或者多个网页元素的外观等。在一些实施方式中,脚本或者在网页内的其它元素可以允许将其它脚本或者元素动态地添加到网页(例如,在浏览器进行渲染期间)。可以将表示待托管的网页的网页数据135从一个或者多个发布者装置106传输至web托管系统130(例如,由网站所有者、签有合同来开发所有者的网页的web开发者等操作)。

编辑系统150允许发布者编辑其网页并且使用编辑来暂时或者永久地更改网页数据135。编辑系统150被配置为提供编辑工具180,通过该编辑工具180,发布者可以通过使用发布者装置106来编辑网页的一部分。编辑工具180生成用于从发布者接收修订的界面。将由编辑工具180生成的界面的至少一部分提供在网页的域内。例如,编辑工具180可以从用户(例如,网页所有者)接收待编辑的网页的标识符(诸如,url)。编辑工具180可以监测浏览器导航至的网页,并且通过使用标识符来确定当前网页是否是待编辑的网页。当编辑工具180确定当前网页是待编辑的网页时,在一些实施方式中,编辑工具180可以将编辑界面注入到网页数据135的代码中,或者以别的方式在浏览器内提供界面。通过在网页源自的域内提供界面的至少一部分,用户在编辑期间正查看的页面可以与用户在单独的窗口中直接访问页面时用户将看到的页面完全相同。此外,界面可以避免与反向代理编辑器相关联的问题,诸如,加载期间的严重延迟和/或通过采用框架破坏特征来渲染内容的问题。可以将使用编辑工具180进行的修订传输回编辑系统150并且将其存储在编辑数据库170中以便随后在网页内实现(例如,通过向web托管系统130和/或渲染网页的用户装置104传输修改过的网页和/或更改指令)。

仍然参照图1,并且更详细地,用户装置104和/或发布者装置106可以是任何类型的计算装置(例如,具有处理器和存储器或者其它类型的计算机可读存储介质),诸如,移动通信装置(例如,蜂窝电话、智能电话等)、计算机和/或媒体装置(台式计算机、膝上型计算机或者笔记本计算机、上网本计算机、平板装置、游戏系统等)、电视和/或机顶盒、或者任何其它类型的计算装置。在一些实施方式中,一个或者多个用户装置104可以是机顶盒或者用于与电视机一起使用的其它装置。在一些实施方式中,可以经由基于web的应用和/或驻留在用户装置104上的应用来提供内容。在一些实施方式中,可以将用户装置104和/或内容提供商装置106设计为使用各种类型的软件和/或操作系统。在各种说明性实施方式中,用户装置104和/或发布者装置106可以配备有一个或者多个用户输入装置(例如,键盘、鼠标、遥控装置、触摸屏等)和/或与之相关联,和/或配备有一个或者多个显示装置(例如,电视机、监视器、crt、等离子体、lcd、led、触摸屏等)和/或与之相关联。

可以将用户装置104和/或发布者装置106配置为通过使用网络102来从各种源接收数据。在一些实施方式中,网络102可以包括用户装置104和/或发布者装置106可以经由任何类型的网络连接(例如,诸如,以太网、电话线、电源线等的有线的或者诸如,wifi、wimax、3g、4g、卫星等的无线的)连接至的计算网络(例如,lan、wan、互联网等)。在一些实施方式中,网络102可以包括被配置为分发媒体节目和/或数据内容的媒体分发网络,诸如,电缆(例如,同轴金属电缆)、卫星、光纤等。

编辑系统150提供编辑工具180,通过该编辑工具180,发布者通过使用发布者装置106可以对网页进行修订。编辑系统150可以向发布者装置106传输被配置为使得将界面提供在发布者装置106上的数据,通过该界面,发布者可以提供修订。在一些实施方式中,可以将编辑工具180提供为基于web的界面,诸如,由编辑系统150的前端接口提供的网站。在一些实施方式中,可以将编辑工具180实现为在发布者装置106上操作(例如,在与发布者装置106上操作的浏览器应用内和/或与该浏览器应用通信)的脚本、浏览器插件/扩展等。

系统150可以包括被配置为执行系统150的各种功能的一个或者多个模块(例如,实现为可由处理器执行的计算机可读指令)。可以将编辑模块155配置为向发布者装置106提供编辑工具180,从发布者装置106接收反映对网页的修改的修订数据,并且将该修订数据存储在编辑数据库170中以便随后在网页内实现。编辑模块155可以使得将编辑工具180提供至发布者装置106,例如,通过向发布者装置传输被配置为造成可以在其中输入对发布者的网页的修订的待提供的一个或者多个基于web的界面(例如,网页)的数据(例如,html数据)。在一些实施方式中,编辑模块155可以向发布者装置106传输被配置为使得将编辑工具180安装在发布者装置106上或者编辑工具180在发布者装置106的一个或者多个处理器上以别的方式操作的应用、脚本、浏览器插件/扩展、或者其它数据。在一些实施方式中,可以在编辑系统150内实现编辑工具180的功能的一部分,可以在发布者装置106内实现其它部分(例如,经由脚本或者插件),并且各个部分可以一齐工作以实现编辑工具180的特征。

系统150还可以包括被配置为实现对网页的编辑的应用模块160。应用模块160可以提供修订引擎185,该修订引擎185被配置为基于修订数据175来实现对网页数据135的更改。在一些实施方式中,可以将修订引擎185实现为脚本、浏览器插件/扩展、应用等。例如,应用模块160可以向用户装置104传输被配置为使得在用户装置104上操作的浏览器应用内实现修订引擎185和/或修订引擎185与该浏览器应用通信的数据。在一些实施方式中,修订引擎185可以接收表示对一个或者多个网页的更改的修订数据175,并且可以在用户装置104上的浏览器应用内实现更改。例如,用户装置104的浏览器可以导航到特定网页。web托管系统130可以向用户装置104传输网页数据135以便浏览器进行解析和渲染。在一些实施方式中,网页数据135可以包括被配置为向编辑系统150请求编辑的脚本(例如,指令集)。作为响应,编辑系统150可以向用户装置104传输修订数据175,并且修订引擎185可以实现修订。在一些实施方式中,修订数据175可以包括一个或者多个更改指令,其中,各个更改指令被配置为使得对网页数据135的一个或者多个元素进行更改。在一些实施方式中,系统150可以生成修订过的网页并且将修订过的网页数据传输至web托管系统130以用更新的网页来替换网页数据135。

现在参照图2,提供了编辑系统150及其相关联的环境的一种详细的说明性实施方式200。应该理解,出于说明之目的提供在图2中示出的编辑系统150和环境的详细实施方式,并且在其它实施方式中,编辑系统150及其相关联的环境可以包括附加的、较少的、和/或不同的部件。进一步地,可以将图示的系统和/或部件中的每一个实现为单独的计算系统,可以在单个硬件系统内组合多个系统,和/或可以在云或者分布式计算环境中实现一个或者多个系统或者部件。

编辑系统150可以向发布者装置106传输被配置为使发布者装置106在发布者装置106上操作编辑工具180的数据。在各种实施方式中,可以将编辑工具180实现为传输至发布者装置106的脚本(例如,javascript)、插件、浏览器扩展、或者安装在发布者装置106上的其它应用、从编辑系统150传输至发布者装置106的一个或者多个网页等。在一些实施方式中,编辑工具180的一部分或者全部可以操作为和/或实现为注入到网页数据135的代码中和/或在浏览器200内实现的脚本。例如,在各种实施方式中,如下面进一步详细描述的,可以通过使用浏览器200的插件/扩展、通过使用嵌入在网页数据135中的现有代码的参数、通过使用浏览器200的书签工具(例如,存储在浏览器200的书签中的应用),或者通过另一方法,将脚本注入到网页数据135中,来提供编辑页面。

浏览器200(例如,在装置106上执行的浏览器应用)可以与编辑工具180通信以实现用于从发布者或者其它用户接收修订210的界面。在一些实施方式中,编辑工具180可以在浏览器200内执行;在其它实施方式中,编辑工具180可以是在发布者装置106上执行的与浏览器200通信的单独的应用。发布者装置106还可以从web托管系统130接收网页数据135,以使用编辑工具180对网页进行编辑。

编辑工具180生成用于在浏览器200内呈现的界面(例如,wysiwyg界面),该界面允许用户修订网页数据135的一个或者多个部分。在一些实施方式中,浏览器200可以对网页数据135进行解析并且生成供编辑工具180使用的包括网页的元素的数据结构。编辑工具180可以使用数据来生成包括网页的可编辑表示的界面。发布者或者编辑工具的其它用户可以经由发布者装置106来提供表示用户希望对网页内容进行的修订210的输入。编辑工具180可以接收修订210并且生成表示修订的修订数据175,以将修订数据175传输回编辑系统150。可以将修订数据175存储在编辑数据库170中以便随后在网页内实现。在一些实施方式中,编辑系统155可以在网页数据135中实现修订数据175以生成修改过的网页并且传输修改过的网页135。在一些实施方式中,编辑系统155可以向web托管系统130传输修订数据175(例如,更改指令),并且在web托管系统130上操作的脚本或者应用可以通过使用修订数据175来修改网页数据135。

编辑系统150可以向用户装置104传输修订数据175以实现将经由用户装置104上的浏览器250(例如,浏览器应用)呈现给用户的网页数据135的一个或者多个元素的更改。在一些实施方式中,编辑系统150可以向用户装置104传输被配置为使用户装置104在用户装置104上操作修订引擎185的数据。在一些实施方式中,可以将修订引擎185实现为传输至用户装置104的脚本。

修订引擎185与浏览器250通信以实现修订数据175并且更改呈现在浏览器250内的网页的一个或者多个元素以生成修订过的网页255。在一些实施方式中,网页数据135包括被配置为使浏览器应用250和/或修订引擎185向编辑系统150传输请求的一个或者多个嵌入式指令、脚本、参数等。响应于该请求,编辑系统150可以确定是否应该将存储在编辑数据库170中的任何修订数据175传输至用户装置104。在一些实施方式中,编辑系统150可以确定是否修订数据175中的任何修订数据都指向与请求相关联的网页(例如,正在用户装置104上渲染的网页)并且如果是,则将相关修订数据175传输至用户装置104。

在一些实施方式中,编辑系统150可以基于各种参数中的一种或者多种参数(例如,用户装置104的装置类型、装置104的用户的特性、已经将网页的修订数据传输至用户装置的次数、自已经将网页的修订传输至用户装置时的时间量等)来确定是否传输修订数据175和/或传输什么数据。在一个特定示例中,可以将修订与由发布者定义的实验相关联,在该实验中,只将修订显示给阈值数量的查看网页的用户(例如,百分之五的用户)。在这种示例中,编辑系统150可以响应于仅阈值数量的请求来传输修订以促进实验。然后可以从在其中实现修订的用户装置104和/或未在其中实现更改的用户装置104采集分析数据(例如,查看数据、点击数据、转换数据等)以确定更改的性能结果(例如,变更是否增加了或者减少了用户与网站的互动,是否引起更多次地命中、点击、销售等)。例如,可以设置实验以支持具有多个独立因素的多变量测试,该多个独立因素中的各个独立因素可以具有一个或者多个级别。可以将一个示例实验配置为具有改变页面的字体颜色的一个因素和改变字体大小的另一因素。如果实验包括具有n种变化的单个因素,则可以将该实验设置为a/b/n测试。在另一示例中,修订可以用于仅为某些用户或者装置提供定制,并且编辑系统150可以基于修订是否针对装置104的用户/装置(例如,基于装置104的装置类型和/或装置标识符、装置104的用户的特性等)来确定是否向用户装置104传输修订数据175。

在一些实施方式中,修订引擎185可以通过实现从编辑系统150接收到的一个或者多个更改指令来生成修订过的网页255。各个更改指令可以更改网页数据135的一个或者多个元素,诸如,元素的文本、格式、位置、颜色、阴影等。修订引擎185可以接收指令,识别在浏览器250中的解析过的网页数据内指令应用于其的一个或者多个元素,并且将更改应用于网页数据。

编辑工具180可以提供用于编辑网页的域内的网页数据的界面。图3图示了根据说明性实施方式的编辑在网页的域内的网页的过程300的流程图。可以由例如,编辑工具180和/或编辑系统150来执行过程300,并且可以将过程300配置为生成用于直接在网页的域内提供对网页的修订的界面。在网页的域内提供编辑可以允许用户具有真正的wysiwyg编辑体验,其中,网页看起来跟正常的一样,包括在登录/付费墙之后的定制。此外,可以减少或者消除与逆向代理编辑相关联的问题。

参照图1至图3,在一些实施方式中,编辑工具180接收待编辑的网页的标识符215(305)。在一些实施方式中,标识符215可以包括待编辑的网页的部分或者完整url。例如,可以提供界面,通过该界面,用户可以输入与用户希望修订的网页对应的一个或者多个url。在一些实施方式中,界面可以允许用户指定域,并且可以将编辑工具180配置为提供用于域内的所有页面的界面。在一些实施方式中,可以通过在与待编辑的网页不同域中的网站(例如,由编辑工具180的提供者生成的网站)来提供用于接收标识符215的界面。在一些实施方式中,界面可以提供导航到网页(例如,在单独的浏览器选项卡中)并且开始编辑网页的选项。在一些实施方式中,当在待编辑的网页的url处时,用户可以通过激活浏览器书签工具、扩展/插件等来指示编辑网页的意图。

编辑工具180可以通过使用标识符215来确定当前网页是否是待编辑的网页(310)。在一些实施方式中,如果用户确定编辑当前网页的指示——诸如,通过在页面上时点击插件/扩展或者书签工具,则编辑工具180可以确定当前网页是要编辑的网页。在一些实施方式中,记录用户编辑网页的意图以供稍后参考(例如,记录了标识符)。例如,可以将标识符215或者指示编辑意图的其它数据存储在编辑器的域上的cookie中(例如,编辑数据库170中)、浏览器200的存储中(例如,编辑器的域中)、浏览器扩展/插件或者书签工具中、令牌中等。在一些实施方式中,确定当前网页是否是待编辑的网页可以至少部分地基于标识符与当前网页的url的比较。在各种实施方式中,响应于部分或者完全匹配,可以将当前网页确定为待编辑的网页。例如,在一些实施方式中,将编辑界面180配置为要求在与标识符相关联的url与当前网页的url之间的精确匹配以确定当前网页是待编辑的网页。在一些实施方式中,将编辑界面180配置为:响应于“软”匹配或者部分匹配,确定当前网页是待编辑的网页。例如,在一些实施方式中,响应于检测到与标识符相关联的域与当前url的域相匹配,编辑界面180可以确定当前网页是待编辑的页面。在一些实施方式中,可以考虑附加或者替代条件,诸如,当前浏览器选项卡或者窗口是否是由编辑界面180打开以提供编辑的浏览器选项卡/窗口。

在一些实施方式中,令牌可以用于嵌入和/或编码用于使得启动编辑界面的信息。例如,令牌可以包括用于使在网页数据135中已经存在的代码启动页内编辑界面的信息。在一些实施方式中,令牌可以包括有关用户启动编辑器的数据和/或与编辑有关的参数(例如,与编辑相关联的实验的标识符)。网页数据135中的嵌入式代码可以识别令牌,验证当前网页是待编辑的网页(例如,基于令牌和/或标识符215),并且作为响应,启动界面。在一些实施方式中,可以将令牌附加到待编辑的网页的url。例如,为了编辑网页example.com,可以将url—example.com/#editor=<token>输入到浏览器200的导航条中。在example.comhtml数据中的代码可以检索令牌并且作为响应,启动页内编辑器。

响应于确定当前网页是待编辑的网页,编辑工具180生成至少部分地提供在网页的域内的界面(315)。编辑工具180可以生成包括网页的可编辑表示的图形界面。在一些实施方式中,可编辑表示可以是包括网页的wysiwyg可编辑界面,该网页与在浏览器200没有编辑界面的情况下导航到网页时将出现的形式基本相同。例如,显示的可编辑网页可以包括在用户登录到网页/网站上的登录界面之后(例如,在付费墙或者其它认证界面之后)应用的定制。这种定制可能通过使用反向代理方法不可用。在一些实施方法中,可以显示网页的所有内容,包括在超文本传输协议(http)下可用、在协议升级到安全http(https)时可能不可用的内容。反向代理方法可以在编辑器用户认证后加载在https域下的网页,并且可能不具有对这种内容的访问。在一些实施方式中,界面可以通过使用与用户在丰富的文档编辑环境中可能找到的供给类似的工具来编辑网页(例如,而不是编辑页面html或者css)。

在一些实施方式中,编辑工具18/0可以生成具有多个部分的界面。例如,编辑工具180可以生成编辑器界面220和网页界面225。编辑器界面220可以是被信任的界面的一部分并且被允许与编辑系统150和/或编辑数据库170通信(例如,通过编辑系统150)。页面界面225可以是不被信任的和/或不由编辑系统150控制的界面的一部分,并且被限制与编辑系统150直接通信(例如,只能通过编辑器界面220来与系统150通信)。在一些实施方式中,可以将网页界面225提供在网页源自的域内,并且网页界面225可以包括网页的可编辑表示。在一些实施方式中,可以将编辑器界面220提供在单独的域内和/或由单独的域来控制,诸如,编辑系统150的域。例如,可以将编辑器界面220加载在网页的内嵌框架(iframe)内,并且可以由编辑系统150来控制iframe的内容的至少一部分。编辑器界面220可以与网页界面225建立通信信道(例如,响应于诸如通过检测到url之间的精确或者部分匹配确定当前网页是待编辑的页面)以接收修订数据。在将编辑器界面220和网页界面225提供在不同的域中的实施方式中,通信信道可以促进数据的跨域通信。通过提供单独的部分,编辑工具180可以诸如通过使用https来在编辑系统150处读取和写入用户的帐户结构,并且可以在浏览器url(例如,网页域)中提供可编辑内容。在一些实施方式中,使用多部分界面可以帮助防止发生混合内容阻止,在该混合内容阻止中,浏览器200会在通过https提供的页面中阻止试图包括通过http提供的内容的http内容。

编辑工具180可以接收对网页数据的一个或者多个修订(320)。可以通过界面的(多个)可编辑部分来接收来自编辑工具180的用户的修订。编辑工具180可以通过使用接收到的修订来生成修订数据175(325)。可以将修订数据175存储到编辑数据库170以便随后在网页内实现(330)。在一些实施方式中,编辑工具180可以提供界面元素,通过该界面元素,用户可以指定与修订相关联的一个或者多个参数,诸如,待对其应用修订的实验或者用户定制的参数。在一些实施方式中,编辑工具180可以提供允许用户取消一个或者多个修订和/或接受通过界面提供的一个或者多个修订的界面元素。在一些实施方式中,编辑工具180可以在生成修订数据175和/或将修订数据175存储到数据库170之前等待接收修订完成的指示。

在一些实施方式中,用户可以至少部分地通过与网页界面225的交互来提供修订210。可以将修订210输入到网页界面225内(例如,包括编辑的网页的表示的wysiwyg界面)。网页界面225可以通过建立的通信信道来将修订通信至编辑器界面220。在一些实施方式中,编辑器界面220可以向网页界面225查询(例如,周期性地)用户输入的任何修订。作为响应,网页界面225可以向编辑器界面220传输修订列表。在一些实施方式中,编辑器界面220可以向用户提供已经接收到的修订列表。在一些实施方式中,编辑器界面220可以集合地、单独地、按照组的方式等为用户提供接受或者拒绝这些更改的选项。编辑器界面220可以将修订传输至编辑系统150以便存储在编辑数据库170中以及稍后实现。在一些实施方式中,编辑器界面220可以在向编辑系统150传输修订之前等待接收来自用户的批准指示。

在一些实施方式中,可以经由编辑器界面220来接收修订中的至少一些修订。例如,用户可以选择网页界面225中的项进行编辑,并且编辑界面220可以显示用于编辑项的选项。用户可以直接在编辑器界面220中提供修订。在一些实施方式中,可以将经由编辑器界面220提供的修订显示在网页界面225中(例如,以在实现了更改的情况下示出在网页上更改的影响)。

现在参照图4,示出了根据实施方式的可以通过其来提供对网页的修订的界面400的图示。用户界面400包括网页的表示,该网页的表示包括元素405。用户界面400包括为用户提供编辑元素405的选项的界面部分415。例如,部分415包括用户编辑字体家族、字体大小、字体样式、行高度、对齐、和/或元素405的其它特性的选项。在一些实施方式中,可以根据场境来更改经由部分415提供的选项(例如,基于选择的元素的类型、位置等)。在一些实施方式中,部分415可以响应于用户选择元素405——诸如,通过右键点击元素405,而出现。在一些实施方式中,界面400可以出现在图示的网页源自的域内的界面中。在一些实施方式中,可以将界面400的部分(例如,部分415)提供在单独的可信界面部分内,诸如,至少部分由编辑器域控制的iframe。在一些实施方式中,如在界面400的导航条中图示的,可以至少部分地基于附加到url的令牌来触发界面400的编辑部分。

图5图示了根据说明性实施方式的在网页的域内提供用于接收对网页的修订的界面的过程流500。图5和下面相关联的段落提供了用于在网页的域内提供用于接收修订的界面的方法的特定实施方式。应该理解,可以在各种实现中独立地或者彼此组合地使用下面讨论的各种特征。此外,应该理解,可以结合上面针对图1至图4讨论的实施方式来使用下面讨论的各种特征。

在一些实施方式中,可以通过已经嵌入在网页数据的内容中的代码来触发编辑界面(例如,通过注入脚本)。可以利用代码来引导编辑器。一个或者多个标识符可以可用于编辑工具。例如,帐户id可以识别与编辑器相关联的用户或者帐户,容器id可以识别容器、或者数据结构、与帐户相关联的一个或者多个实验的存储细节,并且实验id可以识别使用编辑工具建立的实验/定制。

考虑用户正在对涉及页面a、b、和c的目标渠道设置多变量实验。该实验的第一因素是关于页面a的,其中,将更改产品图像。实验的第二因素也是关于页面a的,其中,将强调产品描述。实验的第三因素是关于页面b的,其中,将更改有关行为召唤(call-to-action)按钮的文本。页面c页是渠道的目的地。

在编辑器界面中,用户将指定页面a的url并且启动页面a的页内编辑。用户将从单个因素开始并且设置三种图像变化。然后,用户将添加另一因素,并且有机会留在同一页面或者输入用于第二因素的新的url。用户留在同一页面并且将产品描述强调为该因素的变化。然后,用户将添加第三因素,但是这次指定页面b的url。这将重新启动页面b上的编辑器,提示用户如果需要的话在导航之前保存页面a编辑。用户将行为召唤更改为有关页面b的单个变化,并且保存将用户导航回编辑器用户界面的整个实验。

将不提供根据说明性实施方式的对先前的示例工作流中的单个页面编辑的详细讨论。过程流500给出了对交互细节的高级概述。

在提供在编辑器的域内的界面505中,用户在url框540中输入待编辑的网页的url,并且通过点击编辑按钮545来提交url。编辑工具创建具有单个因素来的新实验。在此,编辑工具可以具有url以及账户id,实验id,以及其他类型的标识符。该信息可以用于启动页内编辑器。

将生成安全令牌,该安全令牌对所需要的信息进行编码以使的在url处已经存在的代码段启动页内编辑器。在一些实施方式中,令牌可以是识别用户的加密令牌和用户想要对其进行编辑的实体的密钥。例如,在一些实施方式中,令牌可以包括:用户的帐户的标识符、待编辑的页面、令牌与之相关联的实验、和/或其它数据。

生成的令牌将作为目标地url上的片段被附加。例如,如果待编辑的url是example.com,则将引起编辑的url可以是example.com/#editor=<token>。片段可以用于存储令牌,原因如下:将不会在用于待编辑的页面的http请求上发送该片段,所以,外来服务器将不具有拒绝该请求的机会;该片段通常在现代浏览器中存在服务器侧重定向;以及也不会与参考头部一起发送该片段,这防止了该片段通过该机制泄漏出去。在一些实施方式中,如果由于某种原因,片段中的令牌对于特定站点/浏览器不能存活,则用户可以使用如下面进一步详细讨论的浏览器扩展方法。

当准备好具有令牌的url时,编辑器然后将用户的窗口导航到该url(例如,example.com/#goptedit=<token>)(510)。当页面加载时,如果页面具有特定类型的代码段,则该代码段将检查令牌。如果令牌存在,则代码段将查找编辑器的外来部分550(例如,网页部分)的来源。

在一些实施方式中,可以通过与主编辑器用户界面相同的服务来静态地服务编辑器的外来部分。可以在请求上发送令牌,因为这是首次加载编辑器的机会。如果令牌有效,则包含编辑器的外来部分的捆绑将返回。或者,可以返回空的或者错误消息包。

当编辑器脚本的外来部分在加载时,可以利用支持编辑器的跨框架通信的信道来添加编辑器的编辑器域部分560的初始不可见的<iframe>(515和520)。编辑器的外来部分可以在信道上将服务暴露于编辑器的编辑器域部分,反之亦然。

在一些实施方式中,可以经由与主编辑器用户界面相同的框架和服务来服务编辑器的编辑器域部分,并且编辑器的编辑器域部分遵循相同的安全性准则。在一些实施方式中,可以放宽框架破坏防止,因为它将被放置在<iframe>中。如下面进一步详细讨论的,在一些实施方式中,可以采取措施来防止编辑器启动除了用户想要编辑的页面之外的页面。

当请求编辑器的编辑器域部分时,编辑器可以依赖于用户仍然被授权的事实,因为用户只是作为体验登录进来的。在一些实施方式中,令牌可以提供用于将什么数据加载到编辑器中的密钥。可能会采取一些措施来防止编辑器启动除了用户想要编辑的页面之外的页面。在一些实施方式中,编辑器可以限制通过使用跨域通信信道(例如,在与不同的域相关联的两个界面部分之间的信道)接收的消息的来源。这可以用于将编辑限制为在从原始编辑器界面发起编辑时用户指定的来源(505)。在一些实施方式中,因为来源限制选项可以允许仅指定单个来源以允许编辑器仍然加载以下某些重定向(诸如,http->https或者甚至是子域更改),所以,可以在重定向期间动态地指定来源。将外来文档的来源报告给编辑器的编辑器域部分作为用于编辑器的编辑器域部分的url中的‘origin’参数。可以不在服务器侧使用来源参数,但是可以在客户端侧使用来源参数以针对在加载的实验数据中找到的、由用户输入的来源参数解决允许的来源。在重大更改的情况下(诸如,顶级域更改),编辑器可能不会启动,因为编辑器的消息中的外来部分可能被编辑器的编辑器域部分拒绝。用户可以返回至编辑器用户界面(505)以输入他们被重定向至的url以编辑该页面。

如果外来文档来源是可接受的,则编辑器的编辑器域部分可以成功地使用信道来在两个框架上将编辑器初始化。然后,信道用于编辑页面。如果编辑器在合理的时间量内未作出响应或者用错误作出响应,则编辑器的外来部分可能不会初始化,而是会向用户显示错误消息。

与编辑下的页面的外来内容的交互具有一定的安全性隐患。编辑器的编辑器域部分可能不信任外来内容,但是却与其进行交互以支持wysiwyg编辑。在一些实施方式中,可以限制从编辑器域部分提供至外来部分的信息。

假设此处已经存在具有一些页面编辑的草稿实验。如果编辑器对于该实验而启动,则可以试图向页面应用编辑,从而将该信息传递至外来内容。可以通过使用有效令牌和授权用户来启动对于该实验的编辑器。然而,令牌只能限定在顶级域的范围,不能限定在特定页面的范围。所以,已经获得令牌和授权用户的恶意页面可以监听对于该令牌实验的页面编辑。这是不太可能的场景,并且没有额外场境的草稿页面编辑可能不会特别敏感。然而,在一些实施方式中,可以将传递至外来内容的信息限制为仅与编辑有关的信息。在一些实施方式中,可以在编辑器的编辑器域部分中维持其它实验信息,诸如,实验名称、变化名称等。

编辑器的编辑器域部分可以保存页面变化的编辑列表,并且将依赖于从在外来内容中运行的编辑器的部分获得的信息。假设用户正在创建一个实验,该实验将添加突出的电话号码站点范围,并且他们已经选择待编辑以准备该更改的特定页面在其上具有一些恶意代码,该恶意代码折衷了编辑器的外来部分。当用户选择待编辑的任意html元素以插入电话号码<div>时,编辑器报告所选择的元素还具有恶意<script>作为其子项中的一个,以这种方式,编辑器被折衷。用户添加电话号码、忽略脚本、并且进行保存。如果实验运行并且在站点上的每个页面上被触发,则电话号码将出现并且带有恶意脚本。一个页面上的恶意脚本可能会在站点范围内传播。

为了解决该问题,在一些实施方式中,直到发布了容器,才发生站点更改。组织可以限制哪些用户对通常将被允许进行站点更改的组织具有发布权限。可以在将实验实况推送至站点之前审查容器快照。在一些实施方式中,可以按照用户友好的方式来呈现即将发布的编辑,并且即将发布的编辑潜在突出任意html或者javascript更改。

在一些实施方式中,可以添加一些附加特征以防止这种攻击。考虑所有编辑发生在编辑器的外来部分中的情况,并且然后在最后,当用户在编辑器的编辑器域部分中点击保存按钮时,向外来部分查询编辑的列表。编辑的外来部分可以用任何信息作出响应,包括恶意数据。在一些实施方式中,编辑器的编辑器域部分可以随着它们出现在每一次编辑的循环中。这将更改的次数限制为用户发起更改的次数。在一些实施方式中,这可能要求:对于任何类型的编辑,用户至少在编辑器的编辑器域部分中采取单个动作(例如,在完成特定编辑时点击完成)。

在一些实施方式中,可以由其中用户选择编辑类型的编辑器域部分来发起所有编辑。例如,用户将选择外部内容中的元素,并且将在编辑器的编辑器域部分中显示可用编辑类型的列表。用户将选择他们想要执行的编辑类型,并且然后,该编辑类型是在用户点击完成时唯一被接受的类型。

当用户已经完成编辑页面的所有变化时,用户可以在编辑器的编辑器域部分中点击“保存”按钮570,从而将更改安全地提交至由令牌指定的并且由用户授权的帐户/容器/实验(525)。在成功保存之后,在一些实施方式中,将通知编辑器的外来部分,并且将窗口导航到主编辑器用户界面中的实验配置。

在一些实施方式中,浏览器插件/扩展或者书签工具可以用于注入编辑器。扩展可以在各个页面上运行脚本以检查存储在扩展中的令牌的存在。如果令牌存在并且有用,并且令牌中的信息(例如,顶级域)与页面相匹配,则页面可以加载编辑器。

图6图示了对计算系统600的描绘,例如,该计算系统600可以用于实现说明性用户装置104、说明性内容管理系统108、说明性发布者装置106、说明性编辑系统150、和/或在本公开中描述的各种其它说明性系统。计算系统600包括总线605或者用于通信信息的其它通信部件、和耦合至总线605的用于处理信息的处理器610。计算系统600还包括耦合至总线605的用于存储信息和待由处理器610执行的指令的主存储器615,诸如,随机存取存储器(ram)或者其它动态存储装置。主存储器615还可以用于存储位置信息、临时变量、或者在处理器610执行指令期间的其它中间信息。计算系统600可以进一步包括只读存储器(rom)620或者耦合至总线605的用于存储对于处理器610的静态信息和指令的其它静态存储装置。诸如固态装置、磁盘或者光盘的存储装置625耦合至总线605以便持久地存储信息和指令。

可以经由总线605来将计算系统600耦合至诸如液晶显示器、或者有源矩阵显示器的显示器635以便向用户显示信息。可以将诸如包括字母数字键和其它键的键盘)的输入装置630耦合至总线605以便向处理器610通信信息和命令选择。在另一实施方式中,输入装置630具有触摸屏显示器635。输入装置630可以包括用于向处理器610通信方向信息和命令选择以及用于控制在显示器635上的光标移动的光标控件,诸如,鼠标、轨迹球、或者光标方向键。

在一些实施方式中,计算系统600可以包括诸如网络适配器的通信适配器640。可以将通信适配器640耦合至总线605,并且可以将其配置为使能与计算或者通信网络645和/或其它计算系统的通信。在各种说明性实施方式中,可以通过使用通信适配器640来实现任何类型的组网配置,诸如,有线的(例如,经由)、无线的(例如,经由等)、预配置、ad-hoc、lan、wan等。

根据各种实施方式,响应于处理器610执行包含在主存储器615中的指令的布置,可以通过计算系统600来实现本文所描述的说明性实施方式的过程。可以从诸如存储装置625的另一计算机可读介质来将这种指令读入到主存储器615中。对包含在主存储器615中的指令的布置的执行使计算系统600能够执行本文所描述的说明性过程。还可以采用在多处理布置中的一个或者多个处理器来执行包含在存储器615中的指令。在替代实施方式中,硬连线电路可以代替软件指令或者与软件指令结合使用以实现说明性实施方式。因此,实施方式不限于硬件电路和软件的任何特定组合。

虽然已经在图6中对示例处理系统进行了描述,但是可以通过使用其它类型的数字电子电路系统、或者在计算机软件、固件、或者硬件中——包括本说明书所公开的结构及其结构等效物、或者它们中的一个或者多个的组合中实现本说明书中描述的主题的实施方式和功能操作。

可以通过使用数字电子电路系统、或者在包含在有形介质中的计算机软件、固件、或者硬件中——包括本说明书所公开的结构及其结构等效物、或者它们中的一个或者多个的组合中实现本说明书中描述的主题的实施方式和操作。可以将本说明书中描述的主题的实施方式实现为一个或者多个计算机程序,即,编码在一个或者多个计算机存储介质上用于由数据处理设备执行或者用于控制数据处理设备的操作的计算机程序指令的一个或者多个模块。可替代地或者另外,程序指令可以编码在人工生成的传播信号上,例如,机器生成的电气、光学、或者电磁信号,生成该信号是为了对信息进行编码以便传输至合适的接收器设备供数据处理设备执行。计算机存储介质可以是计算机可读存储装置、计算机可读存储基板、随机或者串行存取存储器阵列或者装置、或者它们中的一个或者多个的组合,或者包括在其中。此外,当计算机存储介质不是传播信号时,计算机存储介质可以是编码在人工生成的传播信号中的计算机程序指令的源或者目的地。计算机存储介质还可以是一个或者多个单独的部件或者介质(例如,多个cd、磁盘、或者其它存储装置),或者包括在其中。因此,计算机存储介质是有形并且非暂时性的。

可以将本说明书中描述的操作实现为由数据处理设备对存储在一个或者多个计算机可读存储装置或者从其它源接收到的数据执行的操作。

术语“数据处理设备”或者“计算装置”囊括了用于处理数据的所有种类的设备、装置、和机器,包括:例如,可编程处理器、计算机、片上系统、或者前述中的多种或者组合。该设备可以包括专用逻辑电路系统,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。除了硬件之外,该设备还可以包括创建用于探讨中的计算机程序的执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时间环境、虚拟机、或者它们中的一个或者多个的组合的代码。该设备和执行环境可以实现各种不同的计算模型基础架构,诸如,web服务、分布式计算和网格计算基础架构。

可以按照任何形式的程序语言来编写计算机程序(也称为程序、软件、软件应用、脚本、或者代码),包括编译的或者解译的语言、宣告式语言或者程序式语言,并且可以按照任何形式来部署计算机程序,包括部署为独立的程序或者部署为模块、部件、子例程、对象、或者适合在计算环境中使用的其它单元。计算机程序可以但并非必须与文件系统中的文件对应。可以将程序存储在保存其它程序或者数据(例如,存储在标记语言文档中的一个或者多个脚本)的文件的一部分中、在专用于讨论中的程序的单个文件中、或者在多个协调文件中(例如,存储一个或者多个模块、子程序、或者代码的部分的文件)。可以将计算机程序部署为在一个计算机上执行或者在位于一个站点处或者分布在多个站点中并且通过通信网络互相连接的多个计算机上执行。

可以通过一个或者多个可编程处理器来执行本说明书中描述的过程和逻辑流程,该一个或者多个可编程处理器执行一个或者多个计算机程序以通过操作输入数据并且生成输出来执行动作。还可以由专用逻辑电路系统(例如,fpga(现场编程门阵列)或者asic(专用集成电路))来执行过程和逻辑流,并且还可以将设备实现为专用逻辑电路系统(例如,fpga(现场编程门阵列)或者asic(专用集成电路))。

适合执行计算机程序的处理器包括:例如,通用微处理器、专用微处理器、以及任何种类的数字计算机中的任何一个或者多个处理器。一般而言,处理器将接收来自只读存储器或者随机存取存储器或者两者的指令和数据。计算机的必要元件是:用于根据指令执行动作的处理器、和用于存储指令和数据的一个或者多个存储器装置。一般而言,计算机还将包括用于存储数据的一个或者多个海量存储装置(例如,磁盘、磁光盘、或者光盘),或者计算机可以操作地耦合以接收来自该海量存储装置的数据或者将数据传输至该海量存储装置或者进行两者。然而,计算机不需要具有这种装置。此外,计算机可以嵌入在另一装置中,例如,移动电话、个人数字助理(pda)、移动音频或者视频播放器、游戏机、全球定位系统(gps)接收器、或者便携式存储装置(例如,通用串行总线(usb)闪存驱动),仅举数例。适合于存储计算机程序指令和数据的装置包括所有形式的非易失性存储器、介质和存储器装置,包括:例如,半导体存储器装置(例如,eprom、eeprom、和闪速存储器装置)、磁盘(例如,内部硬盘或者可移动盘)、磁光盘、cd-rom盘和dvd-rom盘。处理器和存储器可以由专用逻辑电路系统补充或者可以并入该专用逻辑电路系统中。

为了提供与用户的交互,可以通过使用计算机来实现本说明书中描述的主题的实施方式,该计算机具有用于向用户显示信息的显示装置,例如,crt(阴极射线管)或者lcd(液晶显示器)监视器;以及键盘和指向装置,例如,鼠标或者轨迹球,用户可以通过该键盘和该指向装置来向计算机提供输入。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且可以用任何形式(包括声输入、语音输入或者触觉输入)来接收来自用户的输入。另外,计算机可以通过将文档发送至用户所使用的装置并且接收来自该装置的文档——例如,通过响应于从web浏览器接收的请求来将网页发送至在用户的用户装置上的web浏览器,来与用户进行交互。

可以通过使用计算系统来实现本说明书中描述的主题的实施方式,该计算系统包括后端部件(例如,作为数据服务器)、或者包括中间件部件(例如,应用服务器)、或者包括前端部件(例如,具有图形用户界面或者web浏览器的客户端计算机,通过该客户端计算机,用户可以与本说明书中描述的主题的实施方式进行交互)、或者一个或者多个这种后端部件、中间件部件、或者前端部件的任何组合。可以通过任何形式或者介质的数字数据通信,例如,通信网络,来将系统的部件相互连接。通信网络的示例包括:局域网(“lan”)和广域网(“wan”)、网际网(例如,互联网)、以及对等网络(例如,自组对等网络)。

计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。在一些实施方式中,服务器向客户端装置传输数据(例如,html页面)(例如,为了向与客户端装置进行交互的用户显示数据并且接收来自该用户的用户输入)。可以在服务器处从客户端装置接收在客户端装置上生成的数据(例如,用户交互的结果)。

在一些说明性实施方式中,可以在智能电视模块(或者连接的电视模块、混合电视模块等)上实现本文所公开的特征,该智能电视模块可以包括被配置为将互联网连接性与更传统的电视节目源(例如,经由电缆、卫星、无线、或者其它信号接收到的)集成的处理电路。可以物理地将智能电视模块并入电视机中,或者智能电视模块可以包括单独的装置,诸如,机顶盒、蓝光或者其它数字媒体播放器、游戏机、酒店电视系统、和其它配套装置。可以将智能电视模块配置为允许观看者搜索和查找在网络上、在本地有线电视频道上、在卫星电视频道上、或者存储在本地硬盘驱动器上的视频、电影、照片和其它内容。机顶盒(stb)或者机顶单元(stu)可以包括信息应用装置,该信息应用装置可以包含调谐器并且连接至电视机和外部信号源,将信号转换成内容,然后将该内容显示在电视屏幕或者其它显示装置上。可以将智能电视模块配置为提供包括多个不同应用(诸如,web浏览器和多种流媒体服务、连接的电缆或者卫星媒体源、其它web“信道“等)的图标的主屏幕或者顶层屏幕。可以将智能电视模块进一步配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算装置上操作以向用户提供有关可用节目的附加信息,以允许用户控制智能电视模块等。在替代实施方式中,可以在膝上型计算机或者其它个人计算机、智能电话、其它移动电话、手持式计算机、平板pc、或者其它计算装置上实现该特征。

虽然本说明书包含了许多具体实现细节,但是不应该将这些细节视为对任何发明或者可能被要求保护的内容的范围的限制,而是作为针对特定发明的特定实施方式的特征的描述。在本说明书中在单独实施方式的背景下描述的某些特征还可以组合地实现或者实现在单种实施方式中。相反,在单种实施方式的背景中描述的各种特征也可以单独地或者按照任何合适的子组合实现在多种实施方式中。此外,虽然上文可能将特征描述为以某些组合来起作用并且最初甚至同样如此对该特征进行了要求,但是在一些情况下可以从组合中删除来自所要求保护的组合的一个或者多个特征。并且所要求保护的组合可以指向子组合或者子组合的变化。另外,可以针对在其它标题下描述的说明性实施方式和/或结合该说明性实施方式来利用针对特定标题描述的特征;如果提供标题,标题仅出于可读性的目的而被包括进来,并且不应该被视为限制针对这种标题而提供的任何特征。

类似地,虽然在附图中按照特定顺序示出了操作,但是不应该将其理解为需要按照所示的特定顺序或者按照相继的顺序来进行这种操作,或者需要执行所有图示的操作以实现期望的结果。在某些情况下,多任务处理和并行处理可以是有利的。此外,不应该将在上述实施方式中的各种系统部件的分离理解为在所有实施方式中需要这种分离,并且应该理解,所描述的程序部件和系统通常可以一起集成在单个软件产品中或者封装到多个软件产品中,该软件产品体现在有形介质中。

因此,已经描述了本主题的特定实施方式。其它实施方式在以下权利要求书的范围内。在一些情况下,在权利要求书中叙述的动作可以按照不同的顺序来进行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定需要所示的特定顺序或者相继顺序,以实现期望的结果。在某些实施方式中,多任务处理和并行处理可以是有利的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1