首页 / 专利库 / 医疗设备 / 视觉反馈 / 用于HTML文档的拖放剪贴板

用于HTML文档的拖放剪贴板

阅读:1036发布:2020-06-12

专利汇可以提供用于HTML文档的拖放剪贴板专利检索,专利查询,专利分析的服务。并且本 发明 的各实施方式总体上涉及用于HTML文档的 拖放 剪贴板。具体地,本发明公开了用于在客户端‑ 服务器 架构中,诸如在基于 云 的网页编辑应用的环境中编辑页面的技术。在一个实施方式中,响应关于在客户端处呈现的给定页面上的 选定 内容 块 而 请求 的复制操作来调用运行于客户端浏览器中的剪贴板模块。该剪贴板模块配置用于在本地存储中存储复制的内容,并且还用于呈现UI剪贴板元素以供用户查看。可将UI剪贴板元素拖放至正在编辑的文档内的目标放置 位置 。可以视觉显示放置区指示符以便用户能够看到剪贴板内容在拖放操作的释放后将被放置于何处。在释放之后,剪贴板内容粘贴或以其他方式插入到当前放置区处的目标页面的DOM之中。,下面是用于HTML文档的拖放剪贴板专利的具体信息内容。

1.一种用于在客户端-服务器布置中编辑页面的计算机实现方法,所述方法包括:
由客户端计算系统从服务器计算系统接收页面,其中所述页面经由因特网可访问或者仅经由专用网络可访问;
由所述客户端计算系统接收对应于复制操作或剪切操作的输入,所述输入指示所述页面上呈现的被选择用于所述复制操作或所述剪切操作的内容
由所述客户端计算系统响应于接收到对应于所述复制操作或所述剪切操作的所述输入,将所选定的内容块复制到浏览器的会话存储;
由所述客户端计算系统将剪贴板用户接口UI元素呈现在所述页面上;
响应于将所述剪贴板UI元素移动并放置在目标位置,将存储的选定内容块插入所述目标位置;以及
向所述服务器计算系统发送Post请求以确保所述服务器计算系统处的内容数据与所述客户端计算系统处的内容数据同步。
2.根据权利要求1所述的方法,其中向所述服务器计算系统发送所述Post请求包括:
执行对所述服务器计算系统的所述Post请求,所述Post请求包括所述存储的选定内容块;以及
接收指示出所述Post请求的状态的、针对所述Post请求的响应。
3.根据权利要求2所述的方法,其中响应于所述状态指示出所述Post请求成功,所述方法还包括:
执行对所述服务器计算系统的Get请求,所述Get请求请求所述服务器计算系统返回由所述Post请求所产生的内容;
接收包含由所述Post请求所产生的所述请求内容的、针对所述Get请求的响应;以及用所述请求内容来刷新所述目标位置的内容。
4.根据权利要求2所述的方法,其中针对所述Post请求的响应包括由所述Post请求的服务器处理所产生的内容,并且所述方法还包括用所述内容来刷新所述目标位置的内容。
5.根据权利要求2所述的方法,其中响应于所述状态指示出所述Post请求不成功,所述方法还包括以下各项中的至少一个:
移除插入所述目标位置处的所述内容;以及
呈现关于内容放置失败的视觉反馈
6.根据权利要求1所述的方法,其中所述目标位置位于与具有所述选定内容块的所述页面不同的页面上。
7.根据权利要求1所述的方法,其中所述方法还包括在所述剪贴板UI元素的移动期间呈现放置区指示符,所呈现的放置区指示符示出如果在那一刻放置所述剪贴板UI元素,则所述存储的选定内容块将被插入的位置。
8.根据权利要求1所述的方法,其中所述方法通过嵌入所述页面内并可在所述客户端计算系统的所述浏览器中执行的代码来执行。
9.根据权利要求1所述的方法,还包括:
在所述客户端计算系统中接收与所述选定内容块相关联的用户输入,从而使得执行所述复制和呈现。
10.一种用于在客户端-服务器布置中编辑页面的计算机实现设备,所述设备包括:
用于由客户端计算系统从服务器计算系统接收页面的装置,其中所述页面经由因特网可访问或者仅经由专用网络可访问;
用于由所述客户端计算系统接收对应于复制操作或剪切操作的输入的装置,所述输入指示所述页面上呈现的被选择用于所述复制操作或所述剪切操作的内容块;
用于由所述客户端计算系统响应于接收到对应于所述复制操作或所述剪切操作的所述输入,将所选定的内容块复制到浏览器的会话存储的装置;
用于由所述客户端计算系统将剪贴板用户接口UI元素呈现在所述页面上的装置;
用于响应于将所述剪贴板UI元素移动并放置在目标位置处,将存储的选定内容块插入所述目标位置处的装置;以及
用于向所述服务器计算系统发送Post请求以确保所述服务器计算系统处的内容数据与所述客户端计算系统处的内容数据同步的装置。
11.根据权利要求10所述的设备,其中用于向所述服务器计算系统发送所述Post请求的装置包括:
用于执行对所述服务器计算系统的所述Post请求的装置,所述Post请求包括所述存储的选定内容块;以及
用于接收指示出所述Post请求的状态的、针对所述Post请求的响应的装置。
12.根据权利要求11所述的设备,其中响应于所述状态指示出所述Post请求成功,所述设备还包括:
用于执行对所述服务器计算系统的Get请求的装置,所述Get请求请求所述服务器计算系统返回由所述Post请求所产生的内容;
用于接收包含由所述Post请求所产生的所述请求内容的、针对所述Get请求的响应的装置;以及
用于用所述请求内容来刷新所述目标位置的内容的装置。
13.根据权利要求11所述的设备,其中针对所述Post请求的响应包括由所述Post请求的服务器处理所产生的内容,并且所述设备还包括用于用该内容来刷新所述目标位置的内容的装置。
14.根据权利要求11所述的设备,其中响应于所述状态指示出所述Post请求不成功,所述设备还包括以下各项中的至少一个:
用于移除插入所述目标位置处的所述内容的装置;以及
用于呈现关于内容放置失败的视觉反馈的装置。
15.根据权利要求10所述的设备,其中所述目标位置位于与具有所述选定内容块的所述页面不同的页面上。
16.根据权利要求10所述的设备,其中所述设备还包括用于在所述剪贴板UI元素的移动期间呈现放置区指示符的装置,所呈现的放置区指示符示出如果在那一刻放置所述剪贴板UI元素,则所述存储的选定内容块将被插入的位置。
17.根据权利要求10所述的设备,其中所述设备通过嵌入所述页面内并可在所述客户端计算系统的所述浏览器中执行的代码来执行。
18.根据权利要求10所述的设备,所述设备还包括:
用于在所述客户端计算系统处接收与所述选定内容块相关联的用户输入的装置,从而使得执行所述复制和呈现。
19.根据权利要求10所述的设备,其中响应于所述客户端计算系统处的本地存储包含多个内容块,所述设备还包括用于呈现配置用于接收对这些块中的一个或多个的选取的用户接口机制的装置,并且插入所述目标位置处的所述存储的选定内容块为所述一个或多个选取的块。
20.一种用于在客户端-服务器布置中编辑页面的系统,所述系统包括:
一个或多个客户端模块,其可在客户端计算机的浏览器中执行,并且配置用于:
从服务器计算机接收页面,其中所述页面经由因特网可访问或者仅经由专用网络可访问;
接收对应于复制操作或剪切操作的输入,所述输入指示所述页面上呈现的被选择用于所述复制操作或所述剪切操作的内容块;
响应于接收到对应于所述复制操作或所述剪切操作的所述输入,将所选定的内容块复制到所述浏览器的会话存储;
将剪贴板用户接口UI元素呈现在所述页面上;
响应于将所述剪贴板UI元素移动并放置在目标位置处,将存储的选定内容块插入所述目标位置处,其中所述服务器计算机被配置用于向所述客户端计算机的所述浏览器供应所述页面和所述一个或多个客户端模块,并且所述一个或多个客户端模块嵌入在所述页面内;以及
向所述服务器计算机发送Post请求以确保所述服务器计算机处的内容数据与所述客户端计算机处的内容数据同步。
21.根据权利要求20所述的系统,其中所述一个或多个客户端模块还配置用于:
执行对所述服务器计算机的所述Post请求,所述Post请求包括所述存储的选定内容块;以及
接收指示出所述Post请求的状态的、针对所述Post请求的响应。
22.根据权利要求21所述的系统,其中响应于所述状态指示出所述Post请求成功,所述一个或多个客户端模块还配置用于:
执行对所述服务器计算机的Get请求,所述Get请求请求所述服务器计算机返回由所述Post请求所产生的内容;
接收包含由所述Post请求所产生的所述请求内容的,针对所述Get请求的响应;以及用所述请求内容来刷新所述目标位置的内容。
23.根据权利要求21所述的系统,其中针对所述Post请求的所述响应包括由所述Post请求的服务器处理所产生的内容,并且所述一个或多个客户端模块还配置用于用该内容来刷新所述目标位置的内容。
24.根据权利要求21所述的系统,其中响应于所述状态指示出所述Post请求不成功,所述一个或多个客户端模块还配置用于执行以下各项中的至少一个:
移除插入所述目标位置处的所述内容;以及
呈现关于内容放置失败的视觉反馈。
25.根据权利要求20所述的系统,其中所述一个或多个客户端模块还配置用于执行以下各项中的至少一个:
在所述剪贴板UI元素的移动期间呈现放置区指示符,所呈现的放置区指示符示出如果在那一刻放置所述剪贴板UI元素,则所述存储的选定内容块将被插入的位置;以及响应于所述客户端计算机处的本地存储包含多个内容块,呈现配置用于接收对这些块中的一个或多个的选取的用户接口机制,并且插入所述目标位置处的所述存储的选定内容块为所述一个或多个选取的块。

说明书全文

用于HTML文档的拖放剪贴板

技术领域

[0001] 本公开涉及基于计算机网络的通信,更具体地,涉及用于管理页面编辑和客户端与服务器之间交互的技术。

背景技术

[0002] 客户端-服务器架构是计算机系统之间联网和通信的常用方法。众多应用和功能,诸如基于的文档存储库和服务、电子邮件以及基于因特网的通信等,均可使用客户端-服务器架构来实现。一般而言,客户端可以是查询服务器以使用资源的任何计算机(例如,台式机、膝上型计算机、平板计算机、智能电话等)或计算机程序,而服务器是配置用于与请求客户端共享其资源的计算机系统。可在服务器与客户端之间共享的示例资源为数众多并几乎是无限的,仅举几例而言,包括数据(例如,信息数据库和博客)、数据存储系统(例如,用于存储和组织客户端文件及数据的存储库)以及处理能(例如,中央处理器和/或图形处理器)等。客户端和服务器计算系统通常以请求-响应协议来彼此通信,其中客户端发送请求而服务器返回对该请求的响应。
[0003] 进一步公知的是,浏览器是一种常用于向服务器发起客户端请求的客户端应用,其中服务器的期望资源由统一资源标识符(URI)所标识,并且例如可以是网页、图像、视频或其他可消费内容。进一步公知的是,统一资源定位符(URL)是这样的一类URI:其定义给定资源的特定表示的网络位置,并且还定义指示出URL处可用内容类型的文件扩展。虽然浏览器主要用于基于因特网的通信,但其还可用于访问文件系统以及由专用网络中的服务器所提供的信息。进一步公知的是,超文本标记语言(HTML)是用于创建可在浏览器中显示的页面和其他信息的主要标记语言,并且HTML元素是大多数网站的基本构件。HTML允许嵌入对象和内容并可用于创建交互式表单,并且提供了通过指定诸如标头、段落、链接和其他项目等针对文本的结构语义来创建文档的机制。HTML还可嵌入脚本(举例而言,诸如基于JavaScript的代码),所述脚本影响客户端处给定HTML页面的行为。发明内容
[0004] 在第一方面,提供了一种用于在客户端-服务器布置中编辑页面的计算机实现方法,该方法包括:由客户端计算系统从服务器计算系统接收页面,其中页面经由因特网可访问或者仅经由专用网络可访问;由客户端计算系统接收对应于复制操作或剪切操作的输入,输入指示页面上呈现的被选择用于复制操作或剪切操作的内容;由客户端计算系统响应于接收到对应于复制操作或剪切操作的输入,将所选定的内容块复制到浏览器的会话存储;由客户端计算系统将剪贴板用户接口UI元素呈现在页面上;响应于将剪贴板UI元素移动并放置在目标位置,将存储的选定内容块插入目标位置;以及向服务器计算系统发送Post请求以确保服务器计算系统处的内容数据与客户端计算系统处的内容数据同步。
[0005] 在第二方面,提供了一种用于在客户端-服务器布置中编辑页面的计算机实现设备,该设备包括:用于由客户端计算系统从服务器计算系统接收页面的装置,其中页面经由因特网可访问或者仅经由专用网络可访问;用于由客户端计算系统接收对应于复制操作或剪切操作的输入的装置,输入指示页面上呈现的被选择用于复制操作或剪切操作的内容块;用于由客户端计算系统响应于接收到对应于复制操作或剪切操作的输入,将所选定的内容块复制到浏览器的会话存储的装置;用于由客户端计算系统将剪贴板用户接口UI元素呈现在页面上的装置;用于响应于将剪贴板UI元素移动并放置在目标位置处,将存储的选定内容块插入目标位置处的装置;以及用于向服务器计算系统发送Post请求以确保服务器计算系统处的内容数据与客户端计算系统处的内容数据同步的装置。
[0006] 在第三方面,提供了一种用于在客户端-服务器布置中编辑页面的系统,该系统包括:一个或多个客户端模块,其可在客户端计算机的浏览器中执行,并且配置用于:从服务器计算机接收页面,其中页面经由因特网可访问或者仅经由专用网络可访问;接收对应于复制操作或剪切操作的输入,输入指示页面上呈现的被选择用于复制操作或剪切操作的内容块;响应于接收到对应于复制操作或剪切操作的输入,将所选定的内容块复制到浏览器的会话存储;将剪贴板用户接口UI元素呈现在页面上;响应于将剪贴板UI元素移动并放置在目标位置处,将存储的选定内容块插入目标位置处,其中服务器计算机被配置用于向客户端计算机的浏览器供应页面和一个或多个客户端模块,并且一个或多个客户端模块嵌入在页面内;以及向服务器计算机发送Post请求以确保服务器计算机处的内容数据与客户端计算机处的内容数据同步。附图说明
[0007] 图1a图示了根据本发明实施方式而配置的基于云的页面编辑系统。
[0008] 图1b图示了根据本发明实施方式的、在图1a中所示的基于云的页面编辑系统的组件之间的一系列交互。
[0009] 图2图示了根据本发明实施方式的、用于处理内容编辑请求的客户端方法。
[0010] 图3图示了根据本发明实施方式的、用于处理内容编辑请求的服务器端方法。
[0011] 图4a至图4h示出了共同图示根据本发明实施方式的页面编辑过程的一系列页面屏幕截图。

具体实施方式

[0012] 本文公开了用于在客户端-服务器架构中,诸如在基于云的网页编辑应用的环境中编辑页面的技术。在一种此类实施方式中,响应关于在客户端处呈现的给定页面上的选定内容块而请求的诸如复制或剪切(或者可使用中间内容保存位置的其他此类操作)等编辑操作来调用供应给并运行于客户端浏览器中的剪贴板模块(例如,JavaScript)。内容例如可以是诸如文本、图像、图形或嵌入文件(例如,视频或音频)等任何对象。剪贴板模块配置用于在浏览器会话存储或其他合适的本地存储中存储复制的内容,并且还用于呈现可由用户访问的代表该内容存储的用户接口(UI)剪贴板元素。具体而言,可在所编辑的文档内的目标放置位置处拖放UI剪贴板元素。在一些实施方式中,视觉呈现放置区指示符,以便用户能够看到剪贴板内容在拖放操作的释放后将被放置于何处。在拖放的释放后,剪贴板内容在当前放置区处被粘贴或以其他方式嵌入到页面中。根据一些实施方式,如果在剪贴板中表示了多个内容块,则可提供用户提示来允许用户选择特定的块。备选地,可默认粘贴所有的内容块。
[0013] 总体概述
[0014] 管理网页状态和客户端与服务器之间的交互对于网站开发者而言一般是个难题。一种常见的方法是使用Ruby来生成JavaScript代码,该JavaScript代码由服务器响应于客户端请求而发送。利用这样的方法,Ruby代码有效地渲染指令,并且所产生的JavaScript渲染页面数据。就基于web的页面编辑器系统而言,作为给定客户端计算机系统处的用户(例如,网站开发者),可以访问由服务器所提供的给定页面编辑应用,并使用该应用来开发网站的页面。在页面编辑过程期间,通过利用鼠标键盘交互的一系列剪切/复制和粘贴功能,来完成将内容从页面上的一个位置重新安置到该页面上的另一位置。例如,典型的页面编辑系统提供用以实现所要粘贴的内容的精确定位的多个用户接口按钮,诸如“在元素前插入”按钮和“在元素后插入”按钮等。因此,在期望位置上放置内容可能十分复杂,或者除此之外涉及多个步骤和用户动作。
[0015] 因此,并且根据本发明的实施方式,在此提供用于在客户端-服务器架构环境下编辑页面的技术。该技术可例如利用以下代码来实现:该代码嵌入在页面内并在客户端计算机的浏览器内执行,以便允许关于给定页面上的内容放置的拖放功能性。页面例如可以是由服务器提供并可由客户端经因特网访问的网页,或者是由服务器提供并可由客户端仅经专用网络(诸如公司内部网络)访问的页面。本发明的一个示例实施方式可例如在基于云的网页编辑应用中实现或者以其他方式与之联合使用,所述基于云的网页编辑应用诸如有或任何其他允许对可提供给客户端计算系统的页面进行编辑的web设计应用。根据本公开将会理解,网站开发者可根据需要而编辑给定网站的供应页面并与之进行交互,包括在组成该网站的页面内移动内容,并将对应更新提供回服务器。
[0016] 在一些此类实施方式中,剪贴板模块与页面编辑应用相集成,并且配置用于在应用服务器上执行的小服务程序(servlet)有效地将具有剪贴板模块的页面编辑应用供应给客户端。通过这种方式,可在客户端上的浏览器内执行包括剪贴板模块的页面编辑应用。该客户端剪贴板模块可例如响应关于在客户端处呈现的给定页面上的选定的当前显示内容(例如,文本、图形、图像、嵌入文件或者其他可选择的网页内容)块而请求的诸如复制或剪切操作(或者任何其他涉及将内容移动或复制到保存位置或除此之外的中间位置的操作)等编辑操作而得到调用。剪贴板模块被编程或以其他方式配置用于在客户端处的浏览器会话存储或其他合适的本地存储或存储器位置中存储目标内容,并且还用于在页面上放置供用户查看的代表该存储的用户接口(UI)元素,诸如虚拟剪贴板(本文总体上称为UI剪贴板元素或剪贴板)。剪贴板模块还可配置用于注释UI剪贴板元素以便向用户提供一定程度的反馈,诸如其中存储的内容块的数目和/或名称。
[0017] 响应用户对UI剪贴板元素的拖放,剪贴板模块进一步配置用于执行对应的拖放操作,以便将UI剪贴板元素中所表示的内容放置于正在编辑文档内的目标放置位置,该目标放置位置可在相同的页面或不同的页面上。可以例如通过针对基于光标的用户接口系统的鼠标点击并按住动作,或者通过针对基于触摸屏的用户接口系统的轻敲并按住动作来进行拖放操作。根据本公开将会理解,可以使用其他合适的用户接口机制来进行拖放操作。在任何此类情况下,用户可在屏幕上到处拖动或以其他方式移动UI剪贴板元素,并将其放置在UI剪贴板元素中内容的目标位置处。根据实施方式,每当加载页面时,初始化并从会话存储(或其他本地存储)中读取剪贴板模块,因此UI剪贴板元素在给定网站的所有页面中以及对于所有HTTP请求均为可用。在一些情况下,可视觉显示放置区指示符以便用户能够看到剪贴板内容在拖放操作的释放后将被放置于何处。例如,如果将UI剪贴板元素移动到可插入存储内容的位置的上方,则在UI剪贴板元素的下方出现预定义区域,该预定义区域指示出可放置内容的位置。以这种方式,可规定(例如,通过页面模板)给定页面的预定义区域,使得用户仅能够将剪贴板放置到这些预定义区域之一内。根据本公开将会理解,可以使用常规的拖放功能性和目标位置突出显示。
[0018] 在释放UI剪贴板元素之后,剪贴板内容可粘贴或以其他方式插入到当前位置或最靠近的预定义区域处的目标页面的文档对象模型(DOM)之中。在一种这样的示例实施方式中,剪贴板模块配置用于响应UI剪贴板元素的释放而生成HTTP Post请求,该请求包括剪贴板内容(或以其他方式表示在剪贴板内的选定内容块)。服务器处的Post-小服务程序模块可编程或以其他方式配置用于处理Post请求并将响应提供回客户端。根据实施方式,剪贴板模块还可配置用于将返回的内容在目标放置位置插入到DOM中。公知的是,DOM是应用编程接口,其一般定义文档(例如,HTML和XML网页/文档)的逻辑结构以及访问和操纵该文档的方式。DOM允许网站开发者建立网页、在其结构内导航,以及添加、修改或删除元素和内容。
[0019] 系统架构
[0020] 图1a图示了根据本发明的实施方式而配置的基于云的页面编辑系统。如图中可见,该系统包括动态web应用,该动态web应用可在应用服务器上执行,并且被编程或以其他方式配置用于与经由网络而通信地耦合至应用服务器的客户端交互,以及用于向客户端的用户提供Web设计应用。客户端包括具有处理器(CPU)和存储器的用户计算系统以及浏览器应用,该浏览器应用可用于经由网络来访问web设计应用和应用服务器(包括数据库)的资源。所请求的内容能够以包括任何数目的组件的完整页面形式提供,或者以诸如给定页面的一个组件之类的部分页面来提供。如图中进一步可见,动态web应用包括Post-小服务程序(Post-Servlet)模块,该Post-小服务程序模块配置用于处理Post请求和向数据库发布相关内容。应当理解,动态web应用还可包括其他功能模块,诸如Get-小服务程序模块(用于处理Get请求以及从数据库中检索内容)和其他模块——诸如涉及常规页面编辑以及可由客户端Web设计应用所采用的那些模块。此外,由应用服务器响应于来自客户端的请求而供应的网页包括一个或多个可渲染组件以及指令/代码,它们在本文中泛称为剪贴板模块,该剪贴板模块可在客户端浏览器(例如,JavaScript小程序(applet)或其他合适的代码)中执行。此类客户端-服务器布置例如可适合于任何在线页面编辑服务(例如,基于云的网站设计和编辑工具以及应用),或者期望允许客户端在给定网站的给定页面上或页面之间复制或剪切或者以其他方式移动内容的任何其他基于网络的系统。根据本公开,所描述的布置的许多配置和变化将会是容易理解的。
[0021] 网络可以是任何通信网络,诸如用户的局域网和/或因特网,或者任何其他公用和/或专用通信网络(例如,公司的局域网和/或广域网等)。用户的计算系统(客户端)能够以任何合适的计算设备来实现,这些设备诸如为膝上型计算机、台式机、平板计算机、智能电话,或者其他能够经由网络而访问服务器并向用户显示内容的合适的计算设备。计算系统可采用任何数目的适合的用户输入机制,诸如鼠标、键盘、触摸屏、触控板、声控命令接口或者其任意组合。浏览器应用可使用任何数目的已知或专属浏览器或可比较技术来实现,其中该可比较技术有助于在网络(诸如因特网)上检索、呈现和遍历信息资源,并允许诸如包括剪贴板模块在内的页面编辑系统等页面嵌入代码的执行。数据库可例如为Java内容存储库(JCR)或任何其他可由服务器访问的合适的存储设备。
[0022] 如本文多处所描述,剪贴板模块与Web设计应用(例如,页面编辑应用)相集成或与其联合操作以提供拖放剪贴板功能性。根据本公开将会理解,存储UI剪贴板元素内容的本地存储或存储器在所有页面和所有HTTP请求(例如,Post请求和Get请求等)中均持续存在。通过依次参考图1b、图2、图3,和图4a至图4h(其中每个将会依次讨论),将提供根据本发明的实施方式而配置的、包括剪贴板模块和Post-小服务程序模块的示例系统的进一步细节。
[0023] 根据本公开将会理解,图1a中所示系统的各个模块和组件,诸如剪贴板模块、Web设计应用和Post-小服务程序模块等,能够以软件来实现,所述软件诸如为编码在任何计算机可读介质或计算机程序产品(例如,硬盘驱动器、服务器、盘或其他合适的非暂时性存储器或一组存储器)上的指令集(例如,C、C++、面向对象的C、JavaScript、Java、BASIC等),其在由一个或多个处理器执行时使得本文所提供的各个方法被执行。在其他实施方式中,所述功能组件/模块可由诸如级逻辑(例如,FPGA)或特制半导体(例如,ASIC)等硬件来实现。其他实施方式还可由微控制器来实现,该微控制器具有用于接收和输出数据的多个输入/输出端口,以及用于执行本文所述功能性的多个嵌入例程。在更一般的意义上,可以使用硬件、软件和固件的任何合适的组合。在一个特定实施方式中,使用JavaScript或其他可实时向请求访问应用服务器的客户端提供的可下载代码来实现Web设计应用的剪贴板模块,并使用Java或C++来实现Post-小服务程序模块。根据本公开容易理解,可以使用众多其他特定配置。
[0024] 图1b图示了根据本发明实施方式的、在图1a中所示的基于云的页面编辑系统的组件之间的一系列交互。出于讨论的目的,假设已由服务器接收到来自客户端的初始页面请求,并且该服务器已通过发送所请求的页面而做出响应。还假设所请求的页面包括用户可选择的若干个可渲染组件——诸如文本、图形、图像、嵌入视频、嵌入音频或其任何组合以及/或者其他对象,并且用户正在开发产品网站以供潜在消费者访问和购买产品。图4a中示出了一个示例页面,该页面包括示出若干个组件的产品页面,其中所述组件可由有意购买各种对应产品(在本示例情况中为计算机、移动电话和监视器)的消费者来选择和评价。可选择的组件的形式例如可以是超链接,其在被选择时如通常做法那样使得向消费者提供附加的内容或页面(可使用任何合适的网站导航技术和结构)。此外,潜在消费者可看到一些信息文本。
[0025] 现在,假设开发网站的用户期望经由编辑操作来完善页面,包括将内容从一个页面位置复制到另一页面位置,并且已使用任何合适的内容选择机制选择了该内容。例如,并参考图4b中所示的示例实施方式,用户已使用基于光标的动作(例如,在目标段落上双击,或者在目标段落上的点击-拖动-释放动作)而选择了信息文本的段落。备选地,对于触摸屏配置,例如可在段落上使用手指或触笔动作来选择文本段落。在更一般的意义上,任何给定的DOM元素均可由用户来选择。
[0026] 一旦选择了目标内容,网站开发者/用户可对其开始编辑操作。例如,在一个示例实施方式中,响应于所做出的内容选取,自动调用并向用户呈现编辑UI接口。例如,图4c中示出了一种这样的实施方式,其中响应于所做出的内容选取,Web设计应用被配置为向用户呈现选项菜单覆盖和UI选择菜单。如在本示例情况中可见,UI选择菜单选项中之一为复制按钮,并伴有包括任何数目的期望功能或除此之外的典型功能(例如,移动、绘制、删除、关闭菜单等)在内的其他按钮。此外,选项菜单覆盖包括若干个工具或功能选项,其包括位于菜单顶部的剪贴板元素,连同其他示例功能元素(例如,文本、图像、列等)。
[0027] 继续参考图4d中所示的示例实施方式,响应于用户点击或以其他方式选择UI选择菜单的复制按钮,Web设计应用被配置为触发对剪贴板模块的复制功能调用(如图1b中所示(复制DOM元素))。作为响应,如图1b中进一步所示,剪贴板模块被配置为隐式地触发浏览器会话存储或其他合适的本地存储或存储器中的保存操作(设置元素)。通过这种方式,存储的内容在站点的所有页面上和对所有HTTP请求都是可用的。此外,本示例实施方式的剪贴板模块被配置为更新选项菜单覆盖的剪贴板元素的呈现以反映剪贴板元素现在包含1个对象(即,刚刚复制的选定文本)。
[0028] 根据本公开容易理解,其他实施方式可包括不同的编辑工具/功能和调用方案以及不同的外观和感觉。例如,一些web设计应用可包括配置到可由用户在页面某处(例如,页面的顶部或底部)访问的工具栏中的各种可用编辑选项(例如,复制、剪切、删除、移动等)。该工具栏可始终呈现,或者根据需要而仅在做出用户内容选择之后呈现。在其他示例实施方式中,诸如在图4d’中所示的一个实施方式中,用户可右键点击选定内容,从而呈现编辑选项下拉菜单,其包括复制功能。如图中进一步可见,一旦用户选择下拉菜单的复制选项,页面顶部的工具栏中所显示的剪贴板元素便会被注释(‘1个对象’),以便反映出已将目标内容复制到存储器中。根据本公开容易理解,可以使用任何已知或定制的技术来提供具有本文所述拖放元素的众多其他此类UI控制特征和布局。
[0029] 在任何此类情况中,如图4e中总体示出,用户现在可将呈现在屏幕上的剪贴板元素拖动至站点的给定页面内的目标位置并将剪贴板元素放置在该位置。在一些此类实施方式中,当用户到处拖动剪贴板元素时,Web设计应用可被配置为在元素经过或足够接近可在其中放置元素的目标放置区时突出显示这些区。图4f示出了使用突出显示的放置区指示符的一个此类示例实施方式。如前文所解释,该预定义区可以是用以制作给定页面的DOM或模板的一部分,并为Web设计应用所知,从而可随时提供实时的突出显示。此类放置区突出显示可用于向用户给予当释放拖动操作后内容将被放置之处的更好的指示。
[0030] 当释放拖动操作时,可执行将剪贴板元素中所表示的一个或多个存储的DOM元素插入目标页面的目标放置区指示符中的过程。例如,并进一步参考图1b,响应于拖放操作的释放,剪贴板模块隐式地向服务器发送AJAX Post请求(例如,保存/粘贴)并且还向Web设计应用通知该Post请求(粘贴DOM元素)。如在图1b中进一步可见,Post-小服务程序模块处理Post请求(设置响应于请求而创建和渲染的内容的状态并记录其位置)并将服务器的响应提供回Web设计应用,其中该Web设计应用处理该响应(例如,关于处理成功或错误)并确定将接收到的内容放置于何处。客户端与服务器之间的这种请求-响应交换确保了服务器处的内容数据与客户端处的内容数据同步。因此,在一些实施方式中,注意到在客户端本地粘贴的初始内容随后由Post请求中所返回的内容所代替,以便有效提供无缝的内容放置。在其他实施方式中,Post请求可不包括渲染的内容而仅返回状态。在此类情况下,并且假设Post请求是成功的,可使用来自客户端的后续Get请求来检索内容从而确保客户端和服务器端的内容同步。在任何此类情况下,如果服务器未能成功渲染所请求的内容(无论出于何种原因),则可使用指示该故障的状态代码来通知客户端,从而触发客户端代码来移除复制的内容并相应地通知用户。
[0031] 应当理解,虽然示出了AJAX调用和Post-小服务程序模块,但可以使用任何合适的HTTP服务器技术(例如,可使用PHP应用来处理Post请求并判定其是否有效,以及进一步更新数据库中的值)。还应当理解,诸如图4g的示例中所示的情况那样,该发布-释放处理对于用户是透明的——用户一般会看到内容如期望的那样得到及时放置。诸如图4h中所示的情况那样,用户可继而根据期望来进一步编辑或以其他方式完善内容。这里,用户粘贴和编辑内容来分出关于正在进行的销售活动的信息文本。
[0032] 注意在本示例实施方式中,内容被粘贴在复制内容所在的相同页面上。然而还要注意,每当加载页面时,可初始化并从本地存储(浏览器会话存储或其他本地存储器)中读取剪贴板元素,以便向每个页面提供可放置的剪贴板元素。因此,在其他实施方式中,可从一个页面复制内容并将其粘贴至另一页面。为此,如图1b的示例实施方式中进一步示出,还配置剪贴板模块来访问本地存储,以在其中放置内容(设置元素)或从中检索内容(获取元素)。
[0033] 而且如前文所解释,根据一些实施方式,如果剪贴板元素具有多个内容块存储于其中,则可给予用户机会来挑选所要粘贴的期望内容。例如,在释放剪贴板元素后,可以用弹出窗口来提示用户,该窗口指示出剪贴板元素中所表示的每个内容块。可将弹出窗口中列出的每个元素与UI选择机制(例如,单选按钮或复选框)相关联,其中用户可选择该UI选择机制,并继而选择‘提交’或‘好(OK)’按钮来将这些选定的内容块粘贴至目标放置位置。图4f’中示出了一个此类示例实施方式。
[0034] 注意,根据一些实施方式,剪贴板模块可包括决定剪贴板模块的功能性的,一定程度的用户可配置性。例如,在一些此类实施方式中,用户可访问剪贴板模块的配置用户接口,该配置用户接口允许用户来定义在放置时将会自动粘贴所有内容块,或者将会向用户提供弹出窗口从而允许用户选择所要粘贴的期望的块。可以通过选择工具栏中的配置选项或配置按钮或者任何其他可被选择以便使得呈现可由用户设置的一个或多个可配置选项的此类合适的UI机制而随时访问这样的配置用户接口。根据目标应用的期望性能和灵活性,任何数目的功能特征可以是硬编码的或可由用户配置的,并且众多配置将会根据本公开而容易理解。
[0035] 方法
[0036] 图2图示了根据本发明实施方式的用于处理内容编辑请求的客户端方法。如前文所解释,可以通过嵌入或能够以其他方式在供应给客户端的给定页面的浏览器内执行的Web设计应用(页面编辑系统)或其他代码来执行所述方法。根据一个此类实施方式,使用JavaScript应用编程接口(API)或者其他可用于在执行于客户端上的浏览器应用内实现所述方法的合适的客户端代码来编程或以其他方式配置Web设计应用。
[0037] 如图中可见,该方法包括接收201指示出与DOM元素相关联的复制功能的用户输入(诸如图4d或图4d’中所示)。方法响应于使用中的复制功能而继续调用203嵌入在页面内的代码(例如,JavaScript),并将目标DOM元素复制205到存储中(诸如图1b中所示)。方法继续在页面上呈现207剪贴板UI元素(诸如图4d或图4d’中所示)。如前文所进一步解释,可注释该剪贴板UI元素以例如指示出其中所表示的DOM元素的数目。
[0038] 方法继续在209处确定剪贴板UI元素是否被移动。如果其未被移动,则方法继续等待剪贴板UI的移动,并在211处连续监控以查看是否有新的页面或新的复制功能被选择。如果未发生移动并已使用了新的复制功能,则该方法如前文所讨论那样在205处继续。因此,如果期望,则可将多个DOM元素保存至剪贴板UI元素中。如果未发生移动并且已访问了新的页面,则该方法如前文所讨论那样在207处继续,从而可根据期望而在该页面上呈现剪贴板UI元素。
[0039] 如果检测到剪贴板UI元素的移动,则方法包括将存储的DOM元素经由Web设计应用而插入213目标放置区,执行215对服务器的Post请求(诸如:Post[(数据,媒体类型);URL]),以及接收217对Post请求的响应并将返回的内容放置在目标放置区中——诸如图
4e、图4f或图4f’和图4g中所示以及参考图1b所进一步讨论。如前文所解释,在一些实施方式中,诸如在对Post请求的响应不包括期望内容的那些实施方式中,可联合Post请求来使用Get请求。例如,并根据一个特定的此类实施方式,将服务器所提供的(对于Post请求的)响应暴露给读取该响应的客户端模块(例如,剪贴板模块),并且如果服务器确认插入/发布操作成功,则客户端剪贴板模块可进一步被配置为通过向服务器发送HTTP Get请求从而接收最近发布的DOM元素(与服务器同步)来刷新粘贴/发布的DOM元素。如果服务器拒绝了在目标放置位置的DOM元素放置或者以其他方式指示出插入/发布操作失败(无论出于何种原因),则剪贴板模块可进一步被配置为从页面中删除临时粘贴的段落。在一个此类实施方式中,剪贴板模块还被配置为向用户给予关于内容放置失败的视觉反馈(例如,诸如指示出内容放置操作失败的提示和/或适当的失败代码以及任何建议的补救措施的呈现)。
[0040] 图3图示了根据本发明实施方式的用于处理内容编辑请求的客户端方法。如图中可见,可以例如通过Post-小服务程序模块或其他可在服务器处执行的代码来执行该方法。根据一个此类实施方式,可以使用Java或其他合适的服务器端代码来实现所述方法。
[0041] 该方法包括接收301包含与基于客户端的粘贴功能相关联的数据的Post请求,以及使用该请求中的数据来创建303期望内容。方法还包括针对介质类型(例如,HTML、XML、JSON等)而检查305Post请求,以及将创建的内容渲染为目标格式。方法还包括设置状态代码(例如,依照HTTP规范1.1的201状态代码)来指示Post请求成功,以及对创建的内容的位置设置位置响应标头(也依照HTTP规范1.1)。方法还包括向响应的正文添加317渲染的内容并将响应返回至客户端。位于客户端的用户可继而按意愿进一步编辑页面内容。在其他实施方式中,应回想起对Post请求的响应可不包括所请求的内容。在此类情况下,服务器可进一步被配置为随后接收Get请求并提供由先前的Post请求所创建的期望内容。
[0042] 因此,本发明的一个实施方式包括客户端API,该客户端API允许其他模块或代码访问剪贴板元素的存储(例如,向该存储添加新内容)。API例如可以是可在浏览器中执行的Javascript模块,并且其他对应于UI控制元素的可执行模块/代码(例如,工具栏或页面其他位置处的复制按钮)被配置用于识别在何时点击或以其他方式选择了给定UI控制元素,并且用于访问API以便在剪贴板中存储新元素,该新元素可于随后被拖放至给定网站的页面内的一些期望位置。
[0043] 根据本公开,众多实施方式将会是容易理解的,并且本文所述特征能够以任何数目的配置相组合。本发明的一个示例实施方式提供了用于在客户端-服务器布置中编辑页面的计算机实现方法。该方法包括由客户端计算系统将选定的内容块复制到位于客户端计算系统的本地存储中,所述选定内容块呈现在由与所述客户端计算系统通信的服务器计算系统向所述客户端计算系统的浏览器供应的页面上。该方法还包括,通过客户端计算系统将剪贴板用户接口(UI)元素呈现在所述页面上,以及响应于将该剪贴板UI元素移动并放置到目标位置而在该目标位置中插入存储的选定内容块。在一些情况下,响应于将剪贴板UI元素移动并放置到目标位置,该方法还包括:执行对服务器计算系统的Post请求,该Post请求包括存储的选定内容块;以及接收指示出Post请求状态的、针对Post请求的响应。在一些此类情况下,响应于状态指示出Post请求成功,该方法还包括:执行对服务器计算系统的Get请求,该Get请求请求服务器计算系统返回由Post请求所产生的内容;接收包括由Post请求所产生的请求内容的,针对Get请求的响应;以及用所述请求内容来刷新目标位置的内容。在其他此类情况下,针对Post请求的响应包括由Post请求的服务器处理所产生的内容,并且该方法还包括用该内容来刷新目标位置的内容。在其他此类情况下,响应于状态指示出Post请求不成功,该方法还包括以下各项中的至少一个:移除插入在目标位置中的内容;以及呈现关于内容放置失败的视觉反馈。在一些情况下,目标位置处在与具有选定内容块的页面不同的页面上(当然,其在其他情况下可处在相同页面上)。在一些情况下,该方法包括在剪贴板UI元素的移动期间呈现放置区指示符,所呈现的放置区指示符示出了如果在那一刻放置剪贴板UI元素,则存储的选定内容块将被插入的位置。在一些情况下,该方法通过嵌入所述页面内并可在客户端计算系统的浏览器中执行的代码来执行。在一些情况下,该方法包括在客户端计算系统中接收与选定内容块相关联的用户输入,从而使得执行复制和呈现。在一些情况下,响应于本地存储包含多个内容块,该方法还包括呈现配置用于接收对这些块中的一个或多个的选取的用户接口机制,并且插入目标位置中的存储的选定内容块为所述一个或多个选取的块。根据本公开,变化将会是容易理解的。例如,本发明的另一实施方式提供了以指令编码的计算机程序产品或者一个或多个计算机可读介质,所述指令在由一个或多个处理器执行时,使得执行用于在客户端-服务器布置中编辑页面的过程,其中该过程包括如在本段各处所定义的功能性。
[0044] 本发明的另一实施方式提供了用于在客户端-服务器布置中编辑页面的系统。该系统包括可在客户端计算机的浏览器中执行的一个或多个客户端模块并且配置用于:将选定的内容块复制到位于客户端计算机的本地存储中,所述选定内容块位于向客户端计算机供应的页面上;在所述页面上呈现剪贴板用户接口(UI)元素;以及响应于将该剪贴板UI元素移动并放置在目标位置,将存储的选定内容块插入目标位置。该系统还包括服务器计算机,该服务器计算机配置用于向客户端计算机的浏览器供应所述页面以及一个或多个客户端模块,其中所述一个或多个客户端模块嵌入在所述页面内。在一些情况下,响应于将剪贴板UI元素移动并放置在目标位置,所述一个或多个客户端模块还配置用于:执行对服务器计算机的Post请求,该Post请求包含存储的选定内容块;以及接收指示出Post请求的状态的、针对Post请求的响应。在一些此类情况下,响应于状态指示出Post请求成功,所述一个或多个客户端模块还配置用于:执行对服务器计算机的Get请求,该Get请求请求服务器计算机返回由Post请求所产生的内容;接收包含由Post请求所产生的请求内容的,针对Get请求的响应;以及用所述请求内容来刷新目标位置的内容。在其他此类情况下,针对Post请求的响应包括由Post请求的服务器处理所产生的内容,并且所述一个或多个客户端模块还配置用于以该内容来刷新目标位置的内容。在其他此类情况下,响应于状态指示出Post请求不成功,所述一个或多个客户端模块还配置用于执行以下各项中的至少一个:移除插入目标位置中的内容;以及呈现关于内容放置失败的视觉反馈。在一些情况下,所述一个或多个客户端模块还配置用于执行以下各项中的至少一个:在剪贴板UI元素的移动期间呈现放置区指示符,所呈现的放置区指示符示出了如果在那一刻放置剪贴板UI元素,则存储的选定内容块将被插入的位置;以及响应于本地存储包含多个内容块,呈现配置用于接收对这些块中的一个或多个的选取的用户接口机制,并且插入目标位置中的存储的选定内容块为所述一个或多个选取的块。
[0045] 已出于说明和描述的目的而呈现了本发明的示例实施方式的前文描述。该描述并不旨在成为详尽的描述或将本发明限定于所公开的确切形式。根据本公开,许多修改和变化是可能的。本发明的范围并不旨在由该详细描述所限定,而是由所附权利要求来限定。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈