发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种用于浏览器的输入数据恢复装置和相应的一种用于浏览器的输入数据恢复方法。
依据本发明的一个方面,提供了一种用于浏览器的输入数据恢复方法,包括:
在网页的文本输入框加载完成后,生成覆盖所述文本输入框上的悬浮层;
检测到向所述文本输入框输入数据的事件,获取所述输入数据并实时地写入到浏览器侧的文件中;
检测到浏览器异常,在所述文件中将所述输入数据与所述网页的URL和浏览器发生异常时间对应地进行保存;
由浏览器异常而重新加载所述网页时,从所述被写入的文件中读取所述网页URL对应的在浏览器发生异常时间时保存的输入数据;
在所述文本输入框上的悬浮层中恢复加载所述输入数据;
其中,所述提交事件是所述文本输入框的控件失去焦点,或所述文本输入框的提交按钮被点击。
可选地,在网页的文本输入框加载完成后,生成覆盖所述文本输入框上的悬浮层,包括:
在网页的所述文本输入框加载完成事件触发后,调用由网页浏览器提供的定制处理函数生成覆盖所述文本输入框上的悬浮层。
可选地,获取所述输入数据并实时地写入到浏览器侧的文件中,包括:
根据所述输入数据的数据类型,在所述文本输入框的悬浮层中生成所述数据的HTML元素和/或自定义HTML元素;
将生成的HTML元素实时写入浏览器侧的文件中。
可选地,所述检测到浏览器异常,在所述文件中将所述输入数据与所述网页的URL和浏览器发生异常时间对应地进行保存,包括:
检测到对所述文本输入框的输入数据的提交事件,结束对所述浏览器侧的临时文件的写入后进行保存。
可选地,所述结束对所述浏览器侧的临时文件的写入之后,包括:
若在所有输入数据的写入操作结束之前输入数据输入停止,则保存临时文件中已写入的部分输入数据;
重新加载所述网页时,从所述临时文件读取已存储的部分输入数据,在所述文本输入框上的悬浮层中恢复加载所述输入数据。
可选地,输入数据输入停止的原因包括下列至少之一:
电脑死机断电;
输入信息误删除;
电脑中病毒;
指定文件无法读取;
电脑***崩溃。
可选地,所述浏览器异常包括下列任意之一:
浏览器崩溃;
浏览器卡死;
网页所在的页面进程崩溃或卡死。
可选地,所述检测到向所述文本输入框输入数据的事件,包括:
检测到所述悬浮层和/或文本输入框的ondragenter和ondragover事件;或
检测到所述悬浮层和/或文本输入框的onbeforepaste和onpaste事件。
可选地,所述输入数据包括文本、图片和/或文件。
可选地,在所述输入数据为文本时,
生成所述数据的HTML元素和/或自定义HTML元素,包括:
用相应的HTML标签标记所述文本的内容,以将其转换为所述文本对应的HTML元素。
可选地,在所述输入数据为图片时,
生成所述数据的HTML元素和/或自定义HTML元素,包括:
将所述图片上传到图床服务器,并从图床服务器获取所述图片的链接地址;并且,
用HTML的IMG标签标记所述图片,以将其转换为所述图片对应的HTML元素,其中所述IMG标签的来源属性为所述图片的链接地址。
可选地,在所述输入数据为文件时,
生成所述数据的HTML元素和/或自定义HTML元素,包括:
将所述文件上传到文件服务器,并从文件服务器获取所述文件的链接地址;并且,
用自定义HTML标签标记所述文件,以将其转换为所述文件对应的自定义HTML元素,其中所述自定义标签的来源属性为所述文件的链接地址。
可选地,所述文件包括PDF或PPT文件,则所述自定义HTML元素为自定义的PDF或PPT元素。
可选地,使用BASE64编解码对所述HTML元素和/或自定义HTML元素进行编码。
可选地,所述编码的HTML元素和/或自定义HTML元素以PLAI N文本方式上传保存至服务器侧。
可选地,所述输入数据通过以下任意之一的方式在所述文本框元素上进行输入:
经键盘输入;
剪贴板获取;
经拖拽事件获取。
可选地,所述输入数据经键盘输入时,
获取所述输入数据并实时地写入到浏览器侧的文件中,包括:
通过网络浏览器webBrowser在编辑模式下接收经键盘输入的数据;
将所述输入数据写入到浏览器侧的文件中。
可选地,所述输入数据经剪贴板获取时,
获取所述输入数据并实时地写入到浏览器侧的文件中,包括:
利用剪贴板复制网页中的文本数据;
当所述悬浮层和/或文本输入框的onpaste事件被触发时,将复制的文本数据写入到浏览器侧的文件中。
可选地,所述输入数据经拖拽事件获取时,
获取所述输入数据并实时地写入到浏览器侧的文件中,包括:
利用拖拽事件获取网页中的文本数据;
当所述悬浮层和/或文本输入框的Ondrop事件被触发时,将获取的文本数据写入到浏览器侧的文件中。
依据本发明的另一个方面,提供了一种用于浏览器的输入数据恢复装置,包括:
生成模块,配置为在网页的文本输入框加载完成后,生成覆盖所述文本输入框上的悬浮层;
写入模块,配置为检测到向所述文本输入框输入数据的事件,获取所述输入数据并实时地写入到浏览器侧的文件中;
保存模块,配置为检测到浏览器异常,在所述文件中将所述输入数据与所述网页的URL和浏览器发生异常时间对应地进行保存;
读取模块,配置为由浏览器异常而重新加载所述网页时,从所述被写入的文件中读取所述网页URL对应的在浏览器发生异常时间时保存的输入数据;
加载模块,配置为在所述文本输入框上的悬浮层中恢复加载所述输入数据;
其中,所述提交事件是所述文本输入框的控件失去焦点,或所述文本输入框的提交按钮被点击。
可选地,所述生成模块还配置为:
在网页的所述文本输入框加载完成事件触发后,调用由网页浏览器提供的定制处理函数生成覆盖所述文本输入框上的悬浮层。
可选地,所述写入模块还配置为:
根据所述输入数据的数据类型,在所述文本输入框的悬浮层中生成所述数据的HTML元素和/或自定义HTML元素;
将生成的HTML元素实时写入浏览器侧的文件中。
可选地,所述保存模块还配置为:
检测到对所述文本输入框的输入数据的提交事件,结束对所述浏览器侧的临时文件的写入后进行保存。
可选地,所述写入模块还配置为:
若在所有输入数据的写入操作结束之前输入数据输入停止,则保存临时文件中已写入的部分输入数据;
重新加载所述网页时,从所述临时文件读取已存储的部分输入数据,在所述文本输入框上的悬浮层中恢复加载所述输入数据。
可选地,输入数据输入停止的原因包括下列至少之一:
电脑死机断电;
输入信息误删除;
电脑中病毒;
指定文件无法读取;
电脑***崩溃。
可选地,所述浏览器异常包括下列任意之一:
浏览器崩溃;
浏览器卡死;
网页所在的页面进程崩溃或卡死。
可选地,所述保存模块还配置为:
检测到所述悬浮层和/或文本输入框的ondragenter和ondragover事件;或
检测到所述悬浮层和/或文本输入框的onbeforepaste和onpaste事件。
可选地,所述输入数据包括文本、图片和/或文件。
可选地,所述写入模块还配置为:
在所述输入数据为文本时,
用相应的HTML标签标记所述文本的内容,以将其转换为所述文本对应的HTML元素。
可选地,所述写入模块还配置为:
在所述输入数据为图片时,
将所述图片上传到图床服务器,并从图床服务器获取所述图片的链接地址;并且,
用HTML的IMG标签标记所述图片,以将其转换为所述图片对应的HTML元素,其中所述IMG标签的来源属性为所述图片的链接地址。
可选地,所述写入模块还配置为:
在所述输入数据为文件时,
将所述文件上传到文件服务器,并从文件服务器获取所述文件的链接地址;并且,
用自定义HTML标签标记所述文件,以将其转换为所述文件对应的自定义HTML元素,其中所述自定义标签的来源属性为所述文件的链接地址。
可选地,所述文件包括PDF或PPT文件,则所述自定义HTML元素为自定义的PDF或PPT元素。
可选地,使用BASE64编解码对所述HTML元素和/或自定义HTML元素进行编码。
可选地,所述编码的HTML元素和/或自定义HTML元素以PLAIN文本方式上传保存至服务器侧。
可选地,所述输入数据通过以下任意之一的方式在所述文本框元素上进行输入:
经键盘输入;
剪贴板获取;
经拖拽事件获取。
可选地,所述输入数据经键盘输入时,
获取所述输入数据并实时地写入到浏览器侧的文件中,包括:
通过网络浏览器webBrowser在编辑模式下接收经键盘输入的数据;
将所述输入数据写入到浏览器侧的文件中。
可选地,所述写入模块还配置为:
所述输入数据经剪贴板获取时,
利用剪贴板复制网页中的文本数据;
当所述悬浮层和/或文本输入框的onpaste事件被触发时,将复制的文本数据写入到浏览器侧的文件中。
可选地,所述写入模块还配置为:
所述输入数据经拖拽事件获取时,
利用拖拽事件获取网页中的文本数据;
当所述悬浮层和/或文本输入框的Ondrop事件被触发时,将获取的文本数据写入到浏览器侧的文件中。
在本发明实施例中,在网页的文本输入框加载完成后,生成覆盖文本输入框上的悬浮层,之后,检测到向文本输入框输入数据的事件,获取输入数据并实时地写入到浏览器侧的文件中。由浏览器异常而重新加载网页时,从被写入的文件中读取网页URL对应的在浏览器发生异常时间时保存的输入数据,并在文本输入框上的悬浮层中恢复加载输入数据。由此可见,本发明实施例能够在浏览器侧提供了数据恢复的功能。在向输入控件中输入数据的同时,在浏览器侧对输入数据进行实时保存。在重新加载网页时,获取的输入数据并未发生数据丢失,其在文本输入框上的悬浮层中恢复加载输入数据就能够得到全部恢复。即,本发明实施例中,对网页中的输入控件进行输入的数据进行实时备份,并且可以进行恢复,实现了在网页中的数据备份和恢复,极大地提高了用户的使用体验。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
在此提供的算法和显示不与任何特定计算机、虚拟***或者其它设备固有相关。各种通用***也可以与基于在此的示教一起使用。根据上面的描述,构造这类***所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
为解决上述技术问题,本发明实施例提供了一种对于网页中的输入框的输入数据的数据恢复方案,实现在浏览器级别的数据恢复功能。具体的,本发明实施例提供了一种用于浏览器的输入数据恢复方法。图1示出了根据本发明一个实施例的用于浏览器的输入数据恢复方法的处理流程图。参见图1,该流程图包括步骤S102至步骤S110。
步骤S102、在网页的文本输入框加载完成后,生成覆盖文本输入框上的悬浮层。
步骤S104、检测到向文本输入框输入数据的事件,获取输入数据并实时地写入到浏览器侧的文件中。
步骤S106、检测到浏览器异常,在文件中将输入数据与网页的URL和浏览器发生异常时间对应地进行保存。
步骤S108、由浏览器异常而重新加载网页时,从被写入的文件中读取网页URL对应的在浏览器发生异常时间时保存的输入数据。
步骤S110、在文本输入框上的悬浮层中恢复加载输入数据。
在本发明实施例中,在网页的文本输入框加载完成后,生成覆盖文本输入框上的悬浮层,之后,检测到向文本输入框输入数据的事件,获取输入数据并实时地写入到浏览器侧的文件中。由浏览器异常而重新加载网页时,从被写入的文件中读取网页URL对应的在浏览器发生异常时间时保存的输入数据,并在文本输入框上的悬浮层中恢复加载输入数据。由此可见,本发明实施例能够在浏览器侧提供了数据恢复的功能。在向输入控件中输入数据的同时,在浏览器侧对输入数据进行实时保存。在重新加载网页时,获取的输入数据并未发生数据丢失,其在文本输入框上的悬浮层中恢复加载输入数据就能够得到全部恢复。即,本发明实施例中,对网页中的输入控件进行输入的数据进行实时备份,并且可以进行恢复,实现了在网页中的数据备份和恢复,极大地提高了用户的使用体验。
对于步骤S102,在网页的文本输入框(textarea)加载完成事件触发后,调用由网页浏览器提供的定制处理函数生成覆盖文本输入框上的悬浮层,其中,悬浮层可以包括一DIV层。其中,定制处理函数可以是在网页浏览器处预先编制好的,用于生成该悬浮层。由于DIV层叠加在textarea上,DIV层能够比textarea先行接收交互事件并进行处理,由此实现了在textarea上对诸如文本、图片或文件的多种类型的数据的接收和处理。
对于步骤S104,检测文本输入框输入数据的事件包括检测到悬浮层和/或文本输入框的ondragenter和ondragover事件,或检测到悬浮层和/或文本输入框的onbeforepaste和onpaste事件。
特别地,本地的文件/图片被拖动到包含DIV层的悬浮层时,DIV的ondragenter和ondragover事件被触发。诸如IE的某些浏览器默认情况下禁止向DIV拖拽数据,因此需屏蔽***的默认处理。当被拖拽的对象在DIV上释放时,DIV的Ondrop事件被触发,将上述生成的HTML转换数据添加写入到已经生成的DIV中。
或者,在本地的文件/图片通过剪贴板复制到包含DIV层的悬浮层时,DIV的onbeforepaste和onpaste事件被触发。诸如IE的某些浏览器默认情况下禁止向DIV复制数据,因此需屏蔽***的默认处理。当DIV的onpaste事件被触发时,将上述生成的HTML转换数据添加写入到到已经生成的DIV中。
另外,在步骤S104中,还需要说明的是,根据各种不同的数据类型,例如文本,图片或文件,在浏览器的文本输入框的悬浮窗中生成输入数据对应的HTML元素和/或自定义HTML元素,进而将生成的HTML元素实时写入浏览器侧的文件中。特别地,对于拖拽或复制的图片或文件,在DIV的ondrop或onpaste事件中,通过external接口,调用客户端程序代码,将对应的文件/图片转换成HTML代码,***到DIV中。
下面针对不同的数据类型,详细说明步骤S104。
1)当入数据是文本时
用相应的HTML标签标记文本的内容,以将其转换为文本对应的HTML元素。
在文本对应的HTML元素中,还可以用size、style等属性来对诸如字体大小、显示方式等进行配置。因此,本发明可以支持有格式的文本作为待输入数据。
2)当输入数据是图片时
将图片上传到图床服务器,并从图床服务器获取图片的链接地址;并且,用HTML的IMG标签标记图片,以将其转换为图片对应的HTML元素,其中IMG标签的来源属性为图片的链接地址。
例如,用标签<img>来标识该图片,并用src属性来指向该图片的链接地址URL,从而将其转换成对应的HTML元素。
3)当输入数据是文件时
将文件上传到文件服务器,并从文件服务器获取文件的链接地址;并且,用自定义HTML标签标记文件,以将其转换为文件对应的自定义HTML元素,其中自定义标签的来源属性为文件的链接地址。
例如,对于PPT或PDF文件,用网页浏览器可识别的自定义HTML标签如<PPT>、<pdf>等标记文件的该链接地址URL,以将其转换为对应的自定义HTML元素。当然,本领域技术人员都了解,文件并不限于PPT,PDF类型的文件。
对于步骤S108,在检测到输入数据的提交事件时,将生成的各种数据对应的HTML元素和/或自定义HTML元素进行编码,并上传、保存编码的元素至服务器侧。
其中,提交事件是文本输入框的控件失去焦点,或文本输入框的提交按钮被点击;编码时,可以使用BASE64编解码对HTML元素和/或自定义HTML元素进行编码;然后,被编码的HTML元素和/或自定义HTML元素以PLAIN文本方式上传保存至服务器侧。当然,本领域技术人员也知晓,可以使用其他适合的编解码方法来对元素进行编码,也可以使用其他方式来上传被编码的元素。
图2示出了用于显示根据本发明所保存的文本输入框编码数据的方法的处理流程图,包括步骤S202至步骤S206。
步骤S202,从服务器侧下载编码的HTML元素和/或自定义HTML元素。
步骤S204,对编码的HTML元素和/或自定义HTML元素进行对应解码。
步骤S206,显示HTML元素对应的数据和/或自定义HTML元素。
对于步骤S202,S204,从服务器侧下载的编码HTML元素,使用与上传时所用编码方法对应的解码方法对其进行解码,例如在上传时使用BASE64进行编码,则同样使用BASE64对编码HTML元素进行解码,从而得到数据对应的HTML元素和/或自定义HTML元素。
对于文本类型的数据,由于HTML元素为常规的HTML标准元素,其中包含了文本内容和属性,网页浏览器可直接显示文本内容。
对于图片类型的数据,由于HTML元素为常规的HTML标准元素,其中包含了图片在图床服务器的链接地址,网页浏览器直接从图床服务器下载图片并直接显示图片内容。
对于文件类型的数据,其对应的自定义HTML元素包含了自定义HTML标签,自定义HTML标签的来源属性为文件的链接地址。网页浏览器可显示自定义HTML元素,经由用户点击链接地址,以从文件服务器下载文件;然后调用文件的相应浏览器插件或相应浏览器侧应用程序显示文件。
其中,输入数据是文件或图片之类时,其数据量较大,且以一个整体出现。以文件为例,若该文件为10K,在该文件的写入过程中浏览器出现故障,仅写入5K,那么,选择在临时文件中保存已入写的部分。即,若在所有输入数据的写入操作结束之前输入数据输入停止,则保存临时文件中已写入的部分输入数据。
随后,在重新加载网页时,从临时文件读取已存储的部分输入数据,在文本输入框上的悬浮层中恢复加载输入数据。
需要说明的是,输入数据输入停止的原因有多种,可以包括下列至少之一:
电脑死机断电;
输入信息误删除;
电脑中病毒;
指定文件无法读取;
电脑***崩溃。
当然,还可能存在其他原因,例如电脑中木马,被黑客攻击,***缓存空间不足造成文件无法存取等,在此不做赘述。
本发明实施例中提供浏览器异常需要对网页进行重新恢复,此处的浏览器异常包括下列任意之一:
浏览器崩溃;
浏览器卡死;
网页所在的页面进程崩溃或卡死。
即浏览器或者浏览器上所打开的网页中任意之一发生状况都属于浏览器异常的情况。若浏览器中的某一插件发生意外状况导致数据丢失,则其也属于浏览器异常的情况。
基于上述原理,本发明实施例提供了一个浏览器侧数据恢复的具体实施例。具体描述如下。
1.对于输入控件在其onLoadcomplete事件时的覆盖其上的DIV的生成;
2.对于输入数据(键盘、拷贝事件的输入的文本数据)的获取,写入DIV中的HTML文本;
3.对DIV中的输入数据的写入临时文件(与输入是实时进行);
4.点击submit之后的临时文件的写入结束;
5.对于未点击submit前出现的浏览器破溃或者电脑时机操作,都会结束临时文件的输入,并在下一次恢复进入该输入界面时读取所述临时文件,恢复到输入框的DIV中,继续用户的输入。
基于同一发明构思,本发明实施例还提供了一种用于浏览器的输入数据恢复装置。图3示出了根据本发明一个实施例的用于浏览器的输入数据恢复装置的结构示意图。在该图中,本装置至少包括生成模块310、写入模块320、保存模块330、读取模块340以及加载模块350。现对各模块的功能以及架构进行具体分析。
首先,介绍生成模块310。参见图3,生成模块310在网页的文本输入框加载完成后,生成覆盖文本输入框上的悬浮层。
其次,介绍写入模块320。参见图3,写入模块320与生成模块310相耦合。检测到向文本输入框输入数据的事件时,写入模块320获取输入数据并实时地写入到浏览器侧的文件中。
然后,介绍保存模块330。参见图3,保存模块330与写入模块320相耦合。当检测到浏览器异常时,保存模块330在文件中将输入数据与网页的URL和浏览器发生异常时间对应地进行保存。
进一步,介绍读取模块340。参见图3,读取模块340与保存模块330相耦合。在保存模块330对输入数据进行保存后,由浏览器异常而重新加载网页时,读取模块340从被写入的文件中读取网页URL对应的在浏览器发生异常时间时保存的输入数据。
最后,介绍加载模块350。参见图3,加载模块350与读取模块340相耦合。当读取模块340读取到已保存的输入数据后,加载模块350在文本输入框上的悬浮层中恢复加载输入数据。
在本发明实施例中,在网页的文本输入框加载完成后,生成模块310生成覆盖文本输入框上的悬浮层,之后,检测到向文本输入框输入数据的事件,写入模块320获取输入数据并实时地写入到浏览器侧的文件中。由浏览器异常而重新加载网页时,读取模块340从被保存模块330写入的文件中读取网页URL对应的在浏览器发生异常时间时保存的输入数据,并由加载模块350在文本输入框上的悬浮层中恢复加载输入数据。由此可见,本发明实施例能够在浏览器侧提供了数据恢复的功能。在向输入控件中输入数据的同时,在浏览器侧对输入数据进行实时保存。在重新加载网页时,获取的输入数据并未发生数据丢失,其在文本输入框上的悬浮层中恢复加载输入数据就能够得到全部恢复。即,本发明实施例中,对网页中的输入控件进行输入的数据进行实时备份,并且可以进行恢复,实现了在网页中的数据备份和恢复,极大地提高了用户的使用体验。
在一个优选的实施例中,生成模块310还可以配置为:
在网页的文本输入框加载完成事件触发后,调用由网页浏览器提供的定制处理函数生成覆盖文本输入框上的悬浮层。
在一个优选的实施例中,写入模块320还可以配置为:
根据输入数据的数据类型,在文本输入框的悬浮层中生成数据的HTML元素和/或自定义HTML元素;
将生成的HTML元素实时写入浏览器侧的文件中。
在一个优选的实施例中,保存模块320还可以配置为:
检测到对文本输入框的输入数据的提交事件,结束对浏览器侧的临时文件的写入后进行保存。
在一个优选的实施例中,写入模块320还可以配置为:
若在所有输入数据的写入操作结束之前输入数据输入停止,则保存临时文件中已写入的部分输入数据;
重新加载网页时,从临时文件读取已存储的部分输入数据,在文本输入框上的悬浮层中恢复加载输入数据。
其中,输入数据输入停止的原因包括下列至少之一:
电脑死机断电;
输入信息误删除;
电脑中病毒;
指定文件无法读取;
电脑***崩溃。
另外,浏览器异常的状态包括下列任意之一:
浏览器崩溃;
浏览器卡死;
网页所在的页面进程崩溃或卡死。
在一个优选的实施例中,保存模块320还可以配置为:
检测到悬浮层和/或文本输入框的ondragenter和ondragover事件;或
检测到悬浮层和/或文本输入框的onbeforepaste和onpaste事件。
其中,输入数据包括文本、图片和/或文件。
在一个优选的实施例中,写入模块320还可以配置为:
在输入数据为文本时,
用相应的HTML标签标记文本的内容,以将其转换为文本对应的HTML元素。
在一个优选的实施例中,写入模块320还可以配置为:
在输入数据为图片时,
将图片上传到图床服务器,并从图床服务器获取图片的链接地址;并且,
用HTML的IMG标签标记图片,以将其转换为图片对应的HTML元素,其中IMG标签的来源属性为图片的链接地址。
在一个优选的实施例中,写入模块320还可以配置为:
在输入数据为文件时,
将文件上传到文件服务器,并从文件服务器获取文件的链接地址;并且,
用自定义HTML标签标记文件,以将其转换为文件对应的自定义HTML元素,其中自定义标签的来源属性为文件的链接地址。
其中,上述任意一个优选的实施例中,文件包括PDF或PPT文件,则自定义HTML元素为自定义的PDF或PPT元素。
其中,上述任意一个优选的实施例中,使用BASE64编解码对HTML元素和/或自定义HTML元素进行编码。
并且,编码的HTML元素和/或自定义HTML元素以PLAIN文本方式上传保存至服务器侧。
优选地,输入数据可以通过以下任意之一的方式在文本框元素上进行输入:
经键盘输入;
剪贴板获取;
经拖拽事件获取。
在一个优选的实施例中,写入模块320还可以配置为:
输入数据经键盘输入时,
通过网络浏览器webBrowser在编辑模式下接收经键盘输入的数据;
将输入数据写入到浏览器侧的文件中。
在一个优选的实施例中,写入模块320还可以配置为:
输入数据经剪贴板获取时,
利用剪贴板复制网页中的文本数据;
当悬浮层和/或文本输入框的onpaste事件被触发时,将复制的文本数据写入到浏览器侧的文件中。
在一个优选的实施例中,写入模块320还可以配置为:
输入数据经拖拽事件获取时,
利用拖拽事件获取网页中的文本数据;
当悬浮层和/或文本输入框的Ondrop事件被触发时,将获取的文本数据写入到浏览器侧的文件中。
其中,在上述任意一个优选的实施例中,提交事件是文本输入框的控件失去焦点,或文本输入框的提交按钮被点击。
采用本发明实施例提供的用于浏览器的输入数据恢复方法及装置可以达到如下有益效果:
在本发明实施例中,在网页的文本输入框加载完成后,生成覆盖文本输入框上的悬浮层,之后,检测到向文本输入框输入数据的事件,获取输入数据并实时地写入到浏览器侧的文件中。由浏览器异常而重新加载网页时,从被写入的文件中读取网页URL对应的在浏览器发生异常时间时保存的输入数据,并在文本输入框上的悬浮层中恢复加载输入数据。由此可见,本发明实施例能够在浏览器侧提供了数据恢复的功能。在向输入控件中输入数据的同时,在浏览器侧对输入数据进行实时保存。在重新加载网页时,获取的输入数据并未发生数据丢失,其在文本输入框上的悬浮层中恢复加载输入数据就能够得到全部恢复。即,本发明实施例中,对网页中的输入控件进行输入的数据进行实时备份,并且可以进行恢复,实现了在网页中的数据备份和恢复,极大地提高了用户的使用体验。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于浏览器的输入数据恢复装置中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本文公开了A1、一种用于浏览器的输入数据恢复方法,包括:在网页的文本输入框加载完成后,生成覆盖所述文本输入框上的悬浮层;检测到向所述文本输入框输入数据的事件,获取所述输入数据并实时地写入到浏览器侧的文件中;检测到浏览器异常,在所述文件中将所述输入数据与所述网页的URL和浏览器发生异常时间对应地进行保存;由浏览器异常而重新加载所述网页时,从所述被写入的文件中读取所述网页URL对应的在浏览器发生异常时间时保存的输入数据;在所述文本输入框上的悬浮层中恢复加载所述输入数据;其中,所述提交事件是所述文本输入框的控件失去焦点,或所述文本输入框的提交按钮被点击。A2、根据A1所述的方法,其特征在于,所述在网页的文本输入框加载完成后,生成覆盖所述文本输入框上的悬浮层,包括:在网页的所述文本输入框加载完成事件触发后,调用由网页浏览器提供的定制处理函数生成覆盖所述文本输入框上的悬浮层。A 3、根据A1所述的方法,其特征在于,所述获取所述输入数据并实时地写入到浏览器侧的文件中,包括:根据所述输入数据的数据类型,在所述文本输入框的悬浮层中生成所述数据的HTML元素和/或自定义HTML元素;将生成的HTML元素实时写入浏览器侧的文件中。A4、根据A1至A 3任一项所述的方法,其特征在于,所述检测到浏览器异常,在所述文件中将所述输入数据与所述网页的URL和浏览器发生异常时间对应地进行保存,包括:检测到对所述文本输入框的输入数据的提交事件,结束对所述浏览器侧的临时文件的写入后进行保存。A5、根据A4所述的方法,其特征在于,所述结束对所述浏览器侧的临时文件的写入之后,包括:若在所有输入数据的写入操作结束之前输入数据输入停止,则保存临时文件中已写入的部分输入数据;重新加载所述网页时,从所述临时文件读取已存储的部分输入数据,在所述文本输入框上的悬浮层中恢复加载所述输入数据。A6、根据A5所述的方法,其特征在于,所述输入数据输入停止的原因包括下列至少之一:电脑死机断电;输入信息误删除;电脑中病毒;指定文件无法读取;电脑***崩溃。A7、根据A1至A6任一项所述的方法,其特征在于,所述浏览器异常包括下列任意之一:浏览器崩溃;浏览器卡死;网页所在的页面进程崩溃或卡死。A8、根据A1至A7任一项所述的方法,其特征在于,所述检测到向所述文本输入框输入数据的事件,包括:检测到所述悬浮层和/或文本输入框的ondragenter和ondragover事件;或检测到所述悬浮层和/或文本输入框的onbeforepaste和onpaste事件。A9、根据A1至A8任一项所述的方法,其特征在于,所述输入数据包括文本、图片和/或文件。A10、根据A9所述的方法,其特征在于,在所述输入数据为文本时,生成所述数据的HTML元素和/或自定义HTML元素,包括:用相应的HTML标签标记所述文本的内容,以将其转换为所述文本对应的HTML元素。A11、根据A9所述的方法,其特征在于,在所述输入数据为图片时,生成所述数据的HTML元素和/或自定义HTML元素,包括:将所述图片上传到图床服务器,并从图床服务器获取所述图片的链接地址;并且,用HTML的IMG标签标记所述图片,以将其转换为所述图片对应的HTML元素,其中所述IMG标签的来源属性为所述图片的链接地址。A12、根据A9所述的方法,其特征在于,在所述输入数据为文件时,生成所述数据的HTML元素和/或自定义HTML元素,包括:将所述文件上传到文件服务器,并从文件服务器获取所述文件的链接地址;并且,用自定义HTML标签标记所述文件,以将其转换为所述文件对应的自定义HTML元素,其中所述自定义标签的来源属性为所述文件的链接地址。A13、根据A9所述的方法,其特征在于,所述文件包括PDF或PPT文件,则所述自定义HTML元素为自定义的PDF或PPT元素。A14、根据A3至A13任一项所述的方法,其特征在于,使用BASE64编解码对所述HTML元素和/或自定义HTML元素进行编码。A15、根据A14所述的方法,其特征在于,所述编码的HTML元素和/或自定义HTML元素以PLAIN文本方式上传保存至服务器侧。A16、根据A1至A15任一项所述的方法,其特征在于,所述输入数据通过以下任意之一的方式在所述文本框元素上进行输入:经键盘输入;剪贴板获取;经拖拽事件获取。A17、根据A16所述的方法,其特征在于,所述输入数据经键盘输入时,获取所述输入数据并实时地写入到浏览器侧的文件中,包括:通过网络浏览器webBrowser在编辑模式下接收经键盘输入的数据;将所述输入数据写入到浏览器侧的文件中。A18、根据A16所述的方法,其特征在于,所述输入数据经剪贴板获取时,获取所述输入数据并实时地写入到浏览器侧的文件中,包括:利用剪贴板复制网页中的文本数据;当所述悬浮层和/或文本输入框的onpaste事件被触发时,将复制的文本数据写入到浏览器侧的文件中。A19、根据A16所述的方法,其特征在于,所述输入数据经拖拽事件获取时,获取所述输入数据并实时地写入到浏览器侧的文件中,包括:利用拖拽事件获取网页中的文本数据;当所述悬浮层和/或文本输入框的Ondrop事件被触发时,将获取的文本数据写入到浏览器侧的文件中。
本文公开了B20、一种用于浏览器的输入数据恢复装置,包括:生成模块,配置为在网页的文本输入框加载完成后,生成覆盖所述文本输入框上的悬浮层;写入模块,配置为检测到向所述文本输入框输入数据的事件,获取所述输入数据并实时地写入到浏览器侧的文件中;保存模块,配置为检测到浏览器异常,在所述文件中将所述输入数据与所述网页的URL和浏览器发生异常时间对应地进行保存;读取模块,配置为由浏览器异常而重新加载所述网页时,从所述被写入的文件中读取所述网页URL对应的在浏览器发生异常时间时保存的输入数据;加载模块,配置为在所述文本输入框上的悬浮层中恢复加载所述输入数据;其中,所述提交事件是所述文本输入框的控件失去焦点,或所述文本输入框的提交按钮被点击。B21、根据B20所述的装置,其特征在于,所述生成模块还配置为:在网页的所述文本输入框加载完成事件触发后,调用由网页浏览器提供的定制处理函数生成覆盖所述文本输入框上的悬浮层。B22、根据B20所述的装置,其特征在于,所述写入模块还配置为:根据所述输入数据的数据类型,在所述文本输入框的悬浮层中生成所述数据的HTML元素和/或自定义HTML元素;将生成的HTML元素实时写入浏览器侧的文件中。B23、根据B20至B22任一项所述的装置,其特征在于,所述保存模块还配置为:检测到对所述文本输入框的输入数据的提交事件,结束对所述浏览器侧的临时文件的写入后进行保存。B24、根据B23所述的装置,其特征在于,所述写入模块还配置为:若在所有输入数据的写入操作结束之前输入数据输入停止,则保存临时文件中已写入的部分输入数据;重新加载所述网页时,从所述临时文件读取已存储的部分输入数据,在所述文本输入框上的悬浮层中恢复加载所述输入数据。B25、根据B24所述的装置,其特征在于,输入数据输入停止的原因包括下列至少之一:电脑死机断电;输入信息误删除;电脑中病毒;指定文件无法读取;电脑***崩溃。B26、根据B20至B25任一项所述的装置,其特征在于,所述浏览器异常包括下列任意之一:浏览器崩溃;浏览器卡死;网页所在的页面进程崩溃或卡死。B27、根据B20至B26任一项所述的装置,其特征在于,所述保存模块还配置为:检测到所述悬浮层和/或文本输入框的ondragenter和ondragover事件;或检测到所述悬浮层和/或文本输入框的onbeforepaste和onpaste事件。B28、根据B20至B27任一项所述的装置,其特征在于,所述输入数据包括文本、图片和/或文件。B29、根据B28所述的装置,其特征在于,所述写入模块还配置为:在所述输入数据为文本时,用相应的HTML标签标记所述文本的内容,以将其转换为所述文本对应的HTML元素。B30、根据B28所述的装置,其特征在于,所述写入模块还配置为:在所述输入数据为图片时,将所述图片上传到图床服务器,并从图床服务器获取所述图片的链接地址;并且,用HTML的IMG标签标记所述图片,以将其转换为所述图片对应的HTML元素,其中所述IMG标签的来源属性为所述图片的链接地址。B31、根据B28所述的装置,其特征在于,所述写入模块还配置为:在所述输入数据为文件时,将所述文件上传到文件服务器,并从文件服务器获取所述文件的链接地址;并且,用自定义HTML标签标记所述文件,以将其转换为所述文件对应的自定义HTML元素,其中所述自定义标签的来源属性为所述文件的链接地址。B32、根据B28所述的装置,其特征在于,所述文件包括PDF或PPT文件,则所述自定义HTML元素为自定义的PDF或PPT元素。B33、根据B22至B32任一项所述的装置,其特征在于,使用BASE64编解码对所述HTML元素和/或自定义HTML元素进行编码。B34、根据B33所述的装置,其特征在于,所述编码的HTML元素和/或自定义HTML元素以PLAIN文本方式上传保存至服务器侧。B35、根据B20至B34任一项所述的装置,其特征在于,所述输入数据通过以下任意之一的方式在所述文本框元素上进行输入:经键盘输入;剪贴板获取;经拖拽事件获取。B36、根据B35所述的装置,其特征在于,所述写入模块还配置为:所述输入数据经键盘输入时,通过网络浏览器webBrowser在编辑模式下接收经键盘输入的数据;将所述输入数据写入到浏览器侧的文件中。B37、根据B35所述的装置,其特征在于,所述写入模块还配置为:所述输入数据经剪贴板获取时,利用剪贴板复制网页中的文本数据;当所述悬浮层和/或文本输入框的onpaste事件被触发时,将复制的文本数据写入到浏览器侧的文件中。B38、根据B35所述的装置,其特征在于,所述写入模块还配置为:所述输入数据经拖拽事件获取时,利用拖拽事件获取网页中的文本数据;当所述悬浮层和/或文本输入框的Ondrop事件被触发时,将获取的文本数据写入到浏览器侧的文件中。