專利名稱:瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法及裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)應(yīng)用領(lǐng)域,具體涉及ー種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法及裝置。
背景技術(shù):
用戶在使用網(wǎng)頁瀏覽器的過程中,經(jīng)常需要與web服務(wù)器進行交互,例如通過網(wǎng)頁瀏覽器上傳、發(fā)布各種數(shù)據(jù)或者信息,其中包括將諸如文字、圖片或文件的各種數(shù)據(jù)上傳、保存到服務(wù)器,井能夠進ー步通過網(wǎng)絡(luò)瀏覽器顯示保存在服務(wù)器上的數(shù)據(jù)。在現(xiàn)有的網(wǎng)頁瀏覽器中,通常提供各種輸入控件來接收用戶的輸入數(shù)據(jù)并提交給服務(wù)器。例如,對于文本數(shù)據(jù),可以通過文本輸入框控件進行文字的輸入并上傳;對于圖片或者文件數(shù)據(jù),則可以通過文件上傳控件來選擇圖片或文件進行上傳,在上傳服務(wù)器結(jié)束后顯示圖片或文件遞交成功;在顯示所上傳的圖片或文件時,需要根據(jù)之前從服務(wù)器返回的圖片或文件的URL地址,從服務(wù)器下載圖片或文件,下載成功后再進行顯示。在用戶與web服務(wù)器的交互過程中,經(jīng)常會遇到數(shù)據(jù)恢復(fù)的問題。數(shù)據(jù)恢復(fù)是指用戶由于電腦突然死機斷電、重要輸入信息不小心刪掉、電腦中毒、文件無法讀取、系統(tǒng)突然崩潰、誤操作、計算機病毒的攻擊等軟硬件故障下的數(shù)據(jù)找回和數(shù)據(jù)恢復(fù)處理。但是,目前在瀏覽器側(cè),如果出現(xiàn)軟硬件故障,通常其找回的只有部分信息,例如已經(jīng)保存在瀏覽器緩存中的信息,對于網(wǎng)頁中的輸入控件中的輸入內(nèi)容目前沒有進行瀏覽器級別的數(shù)據(jù)恢復(fù)的功能,會造成數(shù)據(jù)的丟失。例如,用戶在某個網(wǎng)頁中輸入ー篇日志,但尚未保存,此時因瀏覽器故障導(dǎo)致網(wǎng)頁頁面崩潰。那么,在重啟瀏覽器后,該日志的數(shù)據(jù)并不會實時得到保存,對于丟失的數(shù)據(jù)用戶只能選擇重新輸入,影響用戶的感受體驗。
發(fā)明內(nèi)容
鑒于上述問題,提出了本發(fā)明以便提供ー種克服上述問題或者至少部分地解決上述問題的一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置和相應(yīng)的ー種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法。依據(jù)本發(fā)明的ー個方面,提供了一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法,包括在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層;檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中;檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存;由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù);在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)??蛇x地,在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層,包括在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋所述文本輸入框上的懸浮層??蛇x地,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括根據(jù)所述輸入數(shù)據(jù)的數(shù)據(jù)類型,在所述文本輸入框的懸浮層中生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素;將生成的HTML元素實時寫入瀏覽器側(cè)的文件中。可選地,所述檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存,包括檢測到對所述文本輸入框的輸入數(shù)據(jù)的提交事件,結(jié)束對所述瀏覽器側(cè)的臨時文件的與入后進行保存??蛇x地,所述結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入之后,包括若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù);重新加載所述網(wǎng)頁時,從所述臨時文件讀取已存儲的部分輸入數(shù)據(jù),在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)??蛇x地,輸入數(shù)據(jù)輸入停止的原因包括下列至少之ー電腦死機斷電;輸入信息誤刪除;電腦中病毒;指定文件無法讀??;電腦系統(tǒng)崩潰??蛇x地,所述瀏覽器異常包括下列任意之一瀏覽器崩潰;瀏覽器卡死;網(wǎng)頁所在的頁面進程崩潰或卡死??蛇x地,所述檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,包括檢測到所述懸浮層和/或文本輸入框的ondragenter和ondragover事件;或檢測到所述懸浮層和/或文本輸入框的onbeforepaste和onpaste事件??蛇x地,所述輸入數(shù)據(jù)包括文本、圖片和/或文件??蛇x地,在所述輸入數(shù)據(jù)為文本吋,生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括用相應(yīng)的HTML標簽標記所述文本的內(nèi)容,以將其轉(zhuǎn)換為所述文本對應(yīng)的HTML元素??蛇x地,在所述輸入數(shù)據(jù)為圖片時, 生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括將所述圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取所述圖片的鏈接地址;并且,用HTML的MG標簽標記所述圖片,以將其轉(zhuǎn)換為所述圖片對應(yīng)的HTML元素,其中所述MG標簽的來源屬性為所述圖片的鏈接地址。
可選地,在所述輸入數(shù)據(jù)為文件吋,生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括將所述文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取所述文件的鏈接地址;并且,用自定義HTML標簽標記所述文件,以將其轉(zhuǎn)換為所述文件對應(yīng)的自定義HTML元素,其中所述自定義標簽的來源屬性為所述文件的鏈接地址。可選地,所述文件包括PDF或PPT文件,則所述自定義HTML元素為自定義的TOF或PPT元素??蛇x地,使用BASE64編解碼對所述HTML元素和/或自定義HTML元素進行編碼??蛇x地,所述編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)。可選地,所述輸入數(shù)據(jù)通過以下任意之一的方式在所述文本框元素上進行輸入經(jīng)鍵盤輸入;剪貼板獲?。唤?jīng)拖拽事件獲取。可選地,所述輸入數(shù)據(jù)經(jīng)鍵盤輸入?yún)迹@取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括通過網(wǎng)絡(luò)瀏覽器WebBrowser在編輯模式下接收經(jīng)鍵盤輸入的數(shù)據(jù);將所述輸入數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。可選地,所述輸入數(shù)據(jù)經(jīng)剪貼板獲取吋,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括利用剪貼板復(fù)制網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的onpaste事件被觸發(fā)時,將復(fù)制的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中??蛇x地,所述輸入數(shù)據(jù)經(jīng)拖拽事件獲取吋,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括利用拖拽事件獲取網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的Ondrop事件被觸發(fā)時,將獲取的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中??蛇x地,所述提交事件是所述文本輸入框的控件失去焦點,或所述文本輸入框的提交按鈕被點擊。依據(jù)本發(fā)明的另ー個方面,提供了 一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置,包括生成模塊,配置為在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層;寫入模塊,配置為檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中;保存模塊,配置為檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存;讀取模塊,配置為由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù);加載模塊,配置為在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)??蛇x地,所述生成模塊還配置為在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋所述文本輸入框上的懸浮層??蛇x地,所述寫入模塊還配置為根據(jù)所述輸入數(shù)據(jù)的數(shù)據(jù)類型,在所述文本輸入框的懸浮層中生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素;將生成的HTML元素實時寫入瀏覽器側(cè)的文件中??蛇x地,所述保存模塊還配置為檢測到對所述文本輸入框的輸入數(shù)據(jù)的提交事件,結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入后進行保存??蛇x地,所述寫入模塊還配置為若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù);重新加載所述網(wǎng)頁時,從所述臨時文件讀取已存儲的部分輸入數(shù)據(jù),在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)??蛇x地,輸入數(shù)據(jù)輸入停止的原因包括下列至少之ー電腦死機斷電;輸入信息誤刪除;電腦中病毒;指定文件無法讀??;電腦系統(tǒng)崩潰。可選地,所述瀏覽器異常包括下列任意之一瀏覽器崩潰;瀏覽器卡死;網(wǎng)頁所在的頁面進程崩潰或卡死??蛇x地,所述保存模塊還配置為檢測到所述懸浮層和/或文本輸入框的ondragenter和ondragover事件;或檢測到所述懸浮層和/或文本輸入框的onbeforepaste和onpaste事件??蛇x地,所述輸入數(shù)據(jù)包括文本、圖片和/或文件??蛇x地,所述寫入模塊還配置為在所述輸入數(shù)據(jù)為文本時,用相應(yīng)的HTML標簽標記所述文本的內(nèi)容,以將其轉(zhuǎn)換為所述文本對應(yīng)的HTML元素??蛇x地,所述寫入模塊還配置為在所述輸入數(shù)據(jù)為圖片時,將所述圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取所述圖片的鏈接地址;并且,用HTML的MG標簽標記所述圖片,以將其轉(zhuǎn)換為所述圖片對應(yīng)的HTML元素,其中所述MG標簽的來源屬性為所述圖片的鏈接地址??蛇x地,所述寫入模塊還配置為在所述輸入數(shù)據(jù)為文件吋,將所述文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取所述文件的鏈接地址;并且,用自定義HTML標簽標記所述文件,以將其轉(zhuǎn)換為所述文件對應(yīng)的自定義HTML元素,其中所述自定義標簽的來源屬性為所述文件的鏈接地址。可選地,所述文件包括PDF或PPT文件,則所述自定義HTML元素為自定義的TOF或PPT元素??蛇x地,使用BASE64編解碼對所述HTML元素和/或自定義HTML元素進行編碼。可選地,所述編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)??蛇x地,所述輸入數(shù)據(jù)通過以下任意之一的方式在所述文本框元素上進行輸入經(jīng)鍵盤輸入;剪貼板獲??;經(jīng)拖拽事件獲取??蛇x地,所述輸入數(shù)據(jù)經(jīng)鍵盤輸入?yún)?,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括通過網(wǎng)絡(luò)瀏覽器WebBrowser在編輯模式下接收經(jīng)鍵盤輸入的數(shù)據(jù);將所述輸入數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。可選地,所述寫入模塊還配置為所述輸入數(shù)據(jù)經(jīng)剪貼板獲取吋,利用剪貼板復(fù)制網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的onpaste事件被觸發(fā)時,將復(fù)制的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中??蛇x地,所述寫入模塊還配置為所述輸入數(shù)據(jù)經(jīng)拖拽事件獲取吋,利用拖拽事件獲取網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的Ondrop事件被觸發(fā)時,將獲取的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。可選地,所述提交事件是所述文本輸入框的控件失去焦點,或所述文本輸入框的提交按鈕被點擊。在本發(fā)明實施例中,在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋文本輸入框上的懸浮層,之后,檢測到向文本輸入框輸入數(shù)據(jù)的事件,獲取輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中。由瀏覽器異常而重新加載網(wǎng)頁時,從被寫入的文件中讀取網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù),并在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。由此可見,本發(fā)明實施例能夠在瀏覽器側(cè)提供了數(shù)據(jù)恢復(fù)的功能。在向輸入控件中輸入數(shù)據(jù)的同時,在瀏覽器側(cè)對輸入數(shù)據(jù)進行實時保存。在重新加載網(wǎng)頁時,獲取的輸入數(shù)據(jù)并未發(fā)生數(shù)據(jù)丟失,其在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)就能夠得到全部恢復(fù)。即,本發(fā)明實施例中,對網(wǎng)頁中的輸入控件進行輸入的數(shù)據(jù)進行實時備份,并且可以進行恢復(fù),實現(xiàn)了在網(wǎng)頁中的數(shù)據(jù)備份和恢復(fù),極大地提高了用戶的使用體驗。上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式
。
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖1示出了根據(jù)本發(fā)明一個實施例的瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法的處理流程圖;圖2示出了根據(jù)本發(fā)明一個實施例的所保存的文本輸入框編碼數(shù)據(jù)的方法的處理流程圖;以及圖3示出了根據(jù)本發(fā)明一個實施例的瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置的結(jié)構(gòu)示意圖。
具體實施例方式在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應(yīng)當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。為解決上述技術(shù)問題,本發(fā)明實施例提供了一種對于網(wǎng)頁中的輸入框的輸入數(shù)據(jù)的數(shù)據(jù)恢復(fù)方案,實現(xiàn)在瀏覽器級別的數(shù)據(jù)恢復(fù)功能。具體的,本發(fā)明實施例提供了ー種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法。圖1示出了根據(jù)本發(fā)明一個實施例的瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法的處理流程圖。參見圖1,該流程圖包括步驟S102至步驟S110。步驟S102、在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋文本輸入框上的懸浮層。步驟S104、檢測到向文本輸入框輸入數(shù)據(jù)的事件,獲取輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中。步驟S106、檢測到瀏覽器異常,在文件中將輸入數(shù)據(jù)與網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存。步驟S108、由瀏覽器異常而重新加載網(wǎng)頁吋,從被寫入的文件中讀取網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù)。步驟S110、在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。在本發(fā)明實施例中,在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋文本輸入框上的懸浮層,之后,檢測到向文本輸入框輸入數(shù)據(jù)的事件,獲取輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中。由瀏覽器異常而重新加載網(wǎng)頁時,從被寫入的文件中讀取網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù),并在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。由此可見,本發(fā)明實施例能夠在瀏覽器側(cè)提供了數(shù)據(jù)恢復(fù)的功能。在向輸入控件中輸入數(shù)據(jù)的同時,在瀏覽器側(cè)對輸入數(shù)據(jù)進行實時保存。在重新加載網(wǎng)頁時,獲取的輸入數(shù)據(jù)并未發(fā)生數(shù)據(jù)丟失,其在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)就能夠得到全部恢復(fù)。即,本發(fā)明實施例中,對網(wǎng)頁中的輸入控件進行輸入的數(shù)據(jù)進行實時備份,并且可以進行恢復(fù),實現(xiàn)了在網(wǎng)頁中的數(shù)據(jù)備份和恢復(fù),極大地提高了用戶的使用體驗。對于步驟S102,在網(wǎng)頁的文本輸入框(textarea)加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋文本輸入框上的懸浮層,其中,懸浮層可以包括一DIV層。其中,定制處理函數(shù)可以是在網(wǎng)頁瀏覽器處預(yù)先編制好的,用于生成該懸浮層。由于DIV層疊加在textarea上,DIV層能夠比textarea先行接收交互事件并進行處理,由此實現(xiàn)了在textarea上對諸如文本、圖片或文件的多種類型的數(shù)據(jù)的接收和處理。對于步驟S104,檢測文本輸入框輸入數(shù)據(jù)的事件包括檢測到懸浮層和/或文本輸入框的ondragenter和ondragover事件,或檢測到懸浮層和/或文本輸入框的onbeforepaste 和 onpaste 擊件。特別地,本地的文件/圖片被拖動到包含DIV層的懸浮層時,DIV的ondragenter和ondragover事件被觸發(fā)。諸如IE的某些瀏覽器默認情況下禁止向DIV拖拽數(shù)據(jù),因此需屏蔽系統(tǒng)的默認處理。當被拖拽的對象在DIV上釋放吋,DIV的Ondrop事件被觸發(fā),將上述生成的HTML轉(zhuǎn)換數(shù)據(jù)添加寫入到已經(jīng)生成的DIV中。或者,在本地的文件/圖片通過剪貼板復(fù)制到包含DIV層的懸浮層時,DIV的onbeforepaste和onpaste事件被觸發(fā)。諸如I E的某些瀏覽器默認情況下禁止向DIV復(fù)制數(shù)據(jù),因此需屏蔽系統(tǒng)的默認處理。當DIV的onpaste事件被觸發(fā)時,將上述生成的HTML轉(zhuǎn)換數(shù)據(jù)添加寫入到到已經(jīng)生成的DIV中。另外,在步驟S104中,還需要說明的是,根據(jù)各種不同的數(shù)據(jù)類型,例如文本,圖片或文件,在瀏覽器的文本輸入框的懸浮窗中生成輸入數(shù)據(jù)對應(yīng)的HTML元素和/或自定義HTML元素,進而將生成的HTML元素實時寫入瀏覽器側(cè)的文件中。特別地,對于拖拽或復(fù)制的圖片或文件,在DIV的ondrop或onpaste事件中,通過external接ロ,調(diào)用客戶端程序代碼,將對應(yīng)的文件/圖片轉(zhuǎn)換成HTML代碼,插入到DIV中。下面針對不同的數(shù)據(jù)類型,詳細說明步驟S104。I)當入數(shù)據(jù)是文本時用相應(yīng)的HTML標簽標記文本的內(nèi)容,以將其轉(zhuǎn)換為文本對應(yīng)的HTML元素。在文本對應(yīng)的HTML元素中,還可以用size、style等屬性來對諸如字體大小、顯示方式等進行配置。因此,本發(fā)明可以支持有格式的文本作為待輸入數(shù)據(jù)。2)當輸入數(shù)據(jù)是圖片時將圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取圖片的鏈接地址;并且,用HTML的MG標簽標記圖片,以將其轉(zhuǎn)換為圖片對應(yīng)的HTML元素,其中MG標簽的來源屬性為圖片的鏈接地址。例如,用標簽〈img>來標識該圖片,并用src屬性來指向該圖片的鏈接地址URL,從而將其轉(zhuǎn)換成對應(yīng)的HTML元素。3)當輸入數(shù)據(jù)是文件時將文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取文件的鏈接地址;并且,用自定義HTML標簽標記文件,以將其轉(zhuǎn)換為文件對應(yīng)的自定義HTML元素,其中自定義標簽的來源屬性為文件的鏈接地址。例如,對于PPT或PDF文件,用網(wǎng)頁瀏覽器可識別的自定義HTML標簽如〈PPT〉、<pdf>等標記文件的該鏈接地址URL,以將其轉(zhuǎn)換為對應(yīng)的自定義HTML元素。當然,本領(lǐng)域技術(shù)人員都了解,文件并不限于PPT,PDF類型的文件。對于步驟S108,在檢測到輸入數(shù)據(jù)的提交事件時,將生成的各種數(shù)據(jù)對應(yīng)的HTML元素和/或自定義HTML元素進行編碼,并上傳、保存編碼的元素至服務(wù)器側(cè)。其中,提交事件是文本輸入框的控件失去焦點,或文本輸入框的提交按鈕被點擊;編碼時,可以使用BASE64編解碼對HTML元素和/或自定義HTML元素進行編碼;然后,被編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)。當然,本領(lǐng)域技術(shù)人員也知曉,可以使用其他適合的編解碼方法來對元素進行編碼,也可以使用其他方式來上傳被編碼的元素。圖2示出了用于顯示根據(jù)本發(fā)明所保存的文本輸入框編碼數(shù)據(jù)的方法的處理流程圖,包括步驟S202至步驟S206。步驟S202,從服務(wù)器側(cè)下載編碼的HTML元素和/或自定義HTML元素。步驟S204,對編碼的HTML元素和/或自定義HTML元素進行對應(yīng)解碼。步驟S206,顯示HTML元素對應(yīng)的數(shù)據(jù)和/或自定義HTML元素。對于步驟S202,S204,從服務(wù)器側(cè)下載的編碼HTML元素,使用與上傳時所用編碼方法對應(yīng)的解碼方法對其進行解碼,例如在上傳時使用BASE64進行編碼,則同樣使用BASE64對編碼HTML元素進行解碼,從而得到數(shù)據(jù)對應(yīng)的HTML元素和/或自定義HTML元素。對于文本類型的數(shù)據(jù),由于HTML元素為常規(guī)的HTML標準元素,其中包含了文本內(nèi)容和屬性,網(wǎng)頁瀏覽器可直接顯示文本內(nèi)容。對于圖片類型的數(shù)據(jù),由于HTML元素為常規(guī)的HTML標準元素,其中包含了圖片在圖床服務(wù)器的鏈接地址,網(wǎng)頁瀏覽器直接從圖床服務(wù)器下載圖片并直接顯示圖片內(nèi)容。對于文件類型的數(shù)據(jù),其對應(yīng)的自定義HTML元素包含了自定義HTML標簽,自定義HTML標簽的來源屬性為文件的鏈接地址。網(wǎng)頁瀏覽器可顯示自定義HTML元素,經(jīng)由用戶點擊鏈接地址,以從文件服務(wù)器下載文件;然后調(diào)用文件的相應(yīng)瀏覽器插件或相應(yīng)瀏覽器側(cè)應(yīng)用程序顯示文件。其中,輸入數(shù)據(jù)是文件或圖片之類時,其數(shù)據(jù)量較大,且以一個整體出現(xiàn)。以文件為例,若該文件為10K,在該文件的寫入過程中瀏覽器出現(xiàn)故障,僅寫入5K,那么,選擇在臨時文件中保存已入寫的部分。即,若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù)。隨后,在重新加載網(wǎng)頁吋,從臨時文件讀取已存儲的部分輸入數(shù)據(jù),在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。需要說明的是,輸入數(shù)據(jù)輸入停止的原因有多種,可以包括下列至少之ー電腦死機斷電;輸入信息誤刪除;電腦中病毒;指定文件無法讀??;
電腦系統(tǒng)崩潰。當然,還可能存在其他原因,例如電腦中木馬,被黑客攻擊,系統(tǒng)緩存空間不足造成文件無法存取等,在此不做贅述。本發(fā)明實施例中提供瀏覽器異常需要對網(wǎng)頁進行重新恢復(fù),此處的瀏覽器異常包括下列任意之一瀏覽器崩潰;瀏覽器卡死;網(wǎng)頁所在的頁面進程崩潰或卡死。即瀏覽器或者瀏覽器上所打開的網(wǎng)頁中任意之一發(fā)生狀況都屬于瀏覽器異常的情況。若瀏覽器中的某一插件發(fā)生意外狀況導(dǎo)致數(shù)據(jù)丟失,則其也屬于瀏覽器異常的情況?;谏鲜鲈?,本發(fā)明實施例提供了一個瀏覽器側(cè)數(shù)據(jù)恢復(fù)的具體實施例。具體描述如下。1.對于輸入控件在其onLoadcomplete事件時的覆蓋其上的DIV的生成;2.對于輸入數(shù)據(jù)(鍵盤、拷貝事件的輸入的文本數(shù)據(jù))的獲取,寫入DIV中的HTML文本;3.對DIV中的輸入數(shù)據(jù)的寫入臨時文件(與輸入是實時進行);4.點擊submit之后的臨時文件的寫入結(jié)束;5.對于未點擊submit前出現(xiàn)的瀏覽器破潰或者電腦時機操作,都會結(jié)束臨時文件的輸入,并在下一次恢復(fù)進入該輸入界面時讀取所述臨時文件,恢復(fù)到輸入框的DIV中,繼續(xù)用戶的輸入?;谕话l(fā)明構(gòu)思,本發(fā)明實施例還提供了一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置。圖3示出了根據(jù)本發(fā)明一個實施例的瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置的結(jié)構(gòu)示意圖。在該圖中,本裝置至少包括生成模塊310、寫入模塊320、保存模塊330、讀取模塊340以及加載模塊350?,F(xiàn)對各模塊的功能以及架構(gòu)進行具體分析。首先,介紹生成模塊310。參見圖3,生成模塊310在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋文本輸入框上的懸浮層。其次,介紹寫入模塊320。參見圖3,寫入模塊320與生成模塊310相耦合。檢測到向文本輸入框輸入數(shù)據(jù)的事件時,寫入模塊320獲取輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中。然后,介紹保存模塊330。參見圖3,保存模塊330與寫入模塊320相耦合。當檢測到瀏覽器異常時,保存模塊330在文件中將輸入數(shù)據(jù)與網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存。進一歩,介紹讀取模塊340。參見圖3,讀取模塊340與保存模塊330相耦合。在保存模塊330對輸入數(shù)據(jù)進行保存后,由瀏覽器異常而重新加載網(wǎng)頁吋,讀取模塊340從被寫入的文件中讀取網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù)。最后,介紹加載模塊350。參見圖3,加載模塊350與讀取模塊340相耦合。當讀取模塊340讀取到已保存的輸入數(shù)據(jù)后,加載模塊350在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。在本發(fā)明實施例中,在網(wǎng)頁的文本輸入框加載完成后,生成模塊310生成覆蓋文本輸入框上的懸浮層,之后,檢測到向文本輸入框輸入數(shù)據(jù)的事件,寫入模塊320獲取輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中。由瀏覽器異常而重新加載網(wǎng)頁吋,讀取模塊340從被保存模塊330寫入的文件中讀取網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù),并由加載模塊350在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。由此可見,本發(fā)明實施例能夠在瀏覽器側(cè)提供了數(shù)據(jù)恢復(fù)的功能。在向輸入控件中輸入數(shù)據(jù)的同時,在瀏覽器側(cè)對輸入數(shù)據(jù)進行實時保存。在重新加載網(wǎng)頁時,獲取的輸入數(shù)據(jù)并未發(fā)生數(shù)據(jù)丟失,其在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)就能夠得到全部恢復(fù)。即,本發(fā)明實施例中,對網(wǎng)頁中的輸入控件進行輸入的數(shù)據(jù)進行實時備份,并且可以進行恢復(fù),實現(xiàn)了在網(wǎng)頁中的數(shù)據(jù)備份和恢復(fù),極大地提高了用戶的使用體驗。在一個優(yōu)選的實施例中,生成模塊310還可以配置為在網(wǎng)頁的文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋文本輸入框上的懸浮層。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為根據(jù)輸入數(shù)據(jù)的數(shù)據(jù)類型,在文本輸入框的懸浮層中生成數(shù)據(jù)的HTML元素和/或自定義HTML元素;將生成的HTML元素實時寫入瀏覽器側(cè)的文件中。在一個優(yōu)選的實施例中,保存模塊320還可以配置為檢測到對文本輸入框的輸入數(shù)據(jù)的提交事件,結(jié)束對瀏覽器側(cè)的臨時文件的寫入后進行保存。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù);重新加載網(wǎng)頁吋,從臨時文件讀取已存儲的部分輸入數(shù)據(jù),在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。其中,輸入數(shù)據(jù)輸入停止的原因包括下列至少之ー電腦死機斷電;輸入信息誤刪除;電腦中病毒;指定文件無法讀??;電腦系統(tǒng)崩潰。另外,瀏覽器異常的狀態(tài)包括下列任意之一瀏覽器崩潰;瀏覽器卡死;網(wǎng)頁所在的頁面進程崩潰或卡死。在一個優(yōu)選的實施例中,保存模塊320還可以配置為檢測到懸浮層和/或文本輸入框的ondragenter和ondragover事件;或檢測到懸浮層和/或文本輸入框的onbeforepas te和onpaste事件。其中,輸入數(shù)據(jù)包括文本、圖片和/或文件。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為
在輸入數(shù)據(jù)為文本時,用相應(yīng)的HTML標簽標記文本的內(nèi)容,以將其轉(zhuǎn)換為文本對應(yīng)的HTML元素。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為在輸入數(shù)據(jù)為圖片時,將圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取圖片的鏈接地址;并且,用HTML的MG標簽標記圖片,以將其轉(zhuǎn)換為圖片對應(yīng)的HTML元素,其中MG標簽的來源屬性為圖片的鏈接地址。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為在輸入數(shù)據(jù)為文件時,將文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取文件的鏈接地址;并且,用自定義HTML標簽標記文件,以將其轉(zhuǎn)換為文件對應(yīng)的自定義HTML元素,其中自定義標簽的來源屬性為文件的鏈接地址。其中,上述任意一個優(yōu)選的實施例中,文件包括PDF或PPT文件,則自定義HTML元素為自定義的PDF或PPT元素。 其中,上述任意一個優(yōu)選的實施例中,使用BASE64編解碼對HTML元素和/或自定義HTML元素進行編碼。并且,編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)。優(yōu)選地,輸入數(shù)據(jù)可以通過以下任意之一的方式在文本框元素上進行輸入經(jīng)鍵盤輸入;剪貼板獲??;經(jīng)拖拽事件獲取。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為輸入數(shù)據(jù)經(jīng)鍵盤輸入?yún)迹ㄟ^網(wǎng)絡(luò)瀏覽器WebBrowser在編輯模式下接收經(jīng)鍵盤輸入的數(shù)據(jù);將輸入數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為輸入數(shù)據(jù)經(jīng)剪貼板獲取吋,利用剪貼板復(fù)制網(wǎng)頁中的文本數(shù)據(jù);當懸浮層和/或文本輸入框的onpaste事件被觸發(fā)時,將復(fù)制的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。在一個優(yōu)選的實施例中,寫入模塊320還可以配置為輸入數(shù)據(jù)經(jīng)拖拽事件獲取吋,利用拖拽事件獲取網(wǎng)頁中的文本數(shù)據(jù);當懸浮層和/或文本輸入框的Ondrop事件被觸發(fā)時,將獲取的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。其中,在上述任意一個優(yōu)選的實施例中,提交事件是文本輸入框的控件失去焦點,或文本輸入框的提交按鈕被點擊。采用本發(fā)明實施例提供的瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法及裝置可以達到如下有益效果 在本發(fā)明實施例中,在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋文本輸入框上的懸浮層,之后,檢測到向文本輸入框輸入數(shù)據(jù)的事件,獲取輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中。由瀏覽器異常而重新加載網(wǎng)頁時,從被寫入的文件中讀取網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù),并在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)。由此可見,本發(fā)明實施例能夠在瀏覽器側(cè)提供了數(shù)據(jù)恢復(fù)的功能。在向輸入控件中輸入數(shù)據(jù)的同時,在瀏覽器側(cè)對輸入數(shù)據(jù)進行實時保存。在重新加載網(wǎng)頁時,獲取的輸入數(shù)據(jù)并未發(fā)生數(shù)據(jù)丟失,其在文本輸入框上的懸浮層中恢復(fù)加載輸入數(shù)據(jù)就能夠得到全部恢復(fù)。即,本發(fā)明實施例中,對網(wǎng)頁中的輸入控件進行輸入的數(shù)據(jù)進行實時備份,并且可以進行恢復(fù),實現(xiàn)了在網(wǎng)頁中的數(shù)據(jù)備份和恢復(fù),極大地提高了用戶的使用體驗。在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結(jié)構(gòu)和技木,以便不模糊對本說明書的理解。類似地,應(yīng)當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的ー個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖即所要求保護的本發(fā)明要求比在每個權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式
的權(quán)利要求書由此明確地并入該具體實施方式
,其中每個權(quán)利要求本身都作為本發(fā)明的單獨實施例。本領(lǐng)域那些技術(shù)人員可以理解,可以對實施例中的設(shè)備中的模塊進行自適應(yīng)性地改變并且把它們設(shè)置在與該實施例不同的一個或多個設(shè)備中??梢园褜嵤├械哪K或單元或組件組合成ー個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者単元中的至少ー些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或単元進行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實施例。例如,在下面的權(quán)利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在ー個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計算機程序和計算機程序產(chǎn)品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質(zhì)上,或者可以具有ー個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應(yīng)該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計出替換實施例。在權(quán)利要求中,不應(yīng)將位于括號之間的任何參考符號構(gòu)造成對權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“ー個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。本文公開了 Al、一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法,包括在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層;檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中;檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存;由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù);在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。A2、根據(jù)Al所述的方法,其特征在于,所述在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層,包括在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋所述文本輸入框上的懸浮層。A3、根據(jù)Al所述的方法,其特征在于,所述獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括根據(jù)所述輸入數(shù)據(jù)的數(shù)據(jù)類型,在所述文本輸入框的懸浮層中生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素;將生成的HTML元素實時寫入瀏覽器側(cè)的文件中。A4、根據(jù)Al至A3任一項所述的方法,其特征在于,所述檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存,包括檢測到對所述文本輸入框的輸入數(shù)據(jù)的提交事件,結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入后進行保存。A5、根據(jù)A4所述的方法,其特征在于,所述結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入之后,包括若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù);重新加載所述網(wǎng)頁時,從所述臨時文件讀取已存儲的部分輸入數(shù)據(jù),在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。A6、根據(jù)A5所述的方法,其特征在于,所述輸入數(shù)據(jù)輸入停止的原因包括下列至少之一電腦死機斷電;輸入信息誤刪除;電腦中病毒;指定文件無法讀??;電腦系統(tǒng)崩潰。A7、根據(jù)Al至A6任一項所述的方法,其特征在于,所述瀏覽器異常包括下列任意之一瀏覽器崩潰;瀏覽器卡死;網(wǎng)頁所在的頁面進程崩潰或卡死。AS、根據(jù)Al至A7任一項所述的方法,其特征在于,所述檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,包括檢測到所述懸浮層和/或文本輸入框的ondragenter和ondragover事件;或檢測到所述懸浮層和/或文本輸入框的onbeforepaste和onpaste事件。A9、根據(jù)Al至A8任一項所述的方法,其特征在于,所述輸入數(shù)據(jù)包括文本、圖片和/或文件。A10、根據(jù)A9所述的方法,其特征在干,在所述輸入數(shù)據(jù)為文本吋,生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括用相應(yīng)的HTML標簽標記所述文本的內(nèi)容,以將其轉(zhuǎn)換為所述文本對應(yīng)的HTML元素。All、根據(jù)A9所述的方法,其特征在于,在所述輸入數(shù)據(jù)為圖片時,生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括將所述圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取所述圖片的鏈接地址;并且,用HTML的MG標簽標記所述圖片,以將其轉(zhuǎn)換為所述圖片對應(yīng)的HTML元素,其中所述IMG標簽的來源屬性為所述圖片的鏈接地址。A12、根據(jù)A9所述的方法,其特征在干,在所述輸入數(shù)據(jù)為文件吋,生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括將所述文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取所述文件的鏈接地址;并且,用自定義HTML標簽標記所述文件,以將其轉(zhuǎn)換為所述文件對應(yīng)的自定義HTML元素,其中所述自定義標簽的來源屬性為所述文件的鏈接地址。A13、根據(jù)A9所述的方法,其特征在于,所述文件包括PDF或PPT文件,則所述自定義HTML元素為自定義的PDF或PPT元素。A14、根據(jù)A3至A13任一項所述的方法,其特征在于,使用BASE64編解碼對所述HTML元素和/或自定義HTML元素進行編碼。A15、根據(jù)A14所述的方法,其特征在于,所述編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)。A16、根據(jù)Al至A15任一項所述的方法,其特征在于,所述輸入數(shù)據(jù)通過以下任意之一的方式在所述文本框元素上進行輸入經(jīng)鍵盤輸入;剪貼板獲?。唤?jīng)拖拽事件獲取。A17、根據(jù)A16所述的方法,其特征在于,所述輸入數(shù)據(jù)經(jīng)鍵盤輸入時,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括通過網(wǎng)絡(luò)瀏覽器WebBrowser在編輯模式下接收經(jīng)鍵盤輸入的數(shù)據(jù);將所述輸入數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。A18、根據(jù)A16所述的方法,其特征在于,所述輸入數(shù)據(jù)經(jīng)剪貼板獲取時,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括利用剪貼板復(fù)制網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的onpaste事件被觸發(fā)時,將復(fù)制的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。A19、根據(jù)A16所述的方法,其特征在于,所述輸入數(shù)據(jù)經(jīng)拖拽事件獲取時,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括利用拖拽事件獲取網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的Ondrop事件被觸發(fā)時,將獲取的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。A20、根據(jù)Al至A19任一項所述的方法,其特征在于,所述提交事件是所述文本輸入框的控件失去焦點,或所述文本輸入框的提交按鈕被點擊。本文公開了 B21、一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置,包括生成模塊,配置為在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層;寫入模塊,配置為檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中;保存模塊,配置為檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存;讀取模塊,配置為由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù);加載模塊,配置為在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。B22、根據(jù)B21所述的裝置,其特征在于,所述生成模塊還配置為在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋所述文本輸入框上的懸浮層。B23、根據(jù)B21所述的裝置,其特征在于,所述寫入模塊還配置為根據(jù)所述輸入數(shù)據(jù)的數(shù)據(jù)類型,在所述文本輸入框的懸浮層中生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素;將生成的HTML元素實時寫入瀏覽器側(cè)的文件中。B24、根據(jù)B21至B23任一項所述的裝置,其特征在于,所述保存模塊還配置為檢測到對所述文本輸入框的輸入數(shù)據(jù)的提交事件,結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入后進行保存。B25、根據(jù)B24所述的裝置,其特征在于,所述寫入模塊還配置為若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù);重新加載所述網(wǎng)頁時,從所述臨時文件讀取已存儲的部分輸入數(shù)據(jù),在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。B26、根據(jù)B25所述的裝置,其特征在于,輸入數(shù)據(jù)輸入停止的原因包括下列至少之ー電腦死機斷電;輸入信息誤刪除;電腦中病毒;指定文件無法讀取;電腦系統(tǒng)崩潰。B27、根據(jù)B21至B26任一項所述的裝置,其特征在于,所述瀏覽器異常包括下列任意之一瀏覽器崩潰;瀏覽器卡死;網(wǎng)頁所在的頁面進程崩潰或卡死。B28、根據(jù)B21至B27任一項所述的裝置,其特征在于,所述保存模塊還配置為檢測到所述懸浮層和/或文本輸入框的ondragenter和ondragover事件;或檢測到所述懸浮層和/或文本輸入框的onbeforepaste和onpaste事件。B29、根據(jù)B21至B28任一項所述的裝置,其特征在于,所述輸入數(shù)據(jù)包括文本、圖片和/或文件。B30、根據(jù)B29所述的裝置,其特征在于,所述寫入模塊還配置為在所述輸入數(shù)據(jù)為文本時,用相應(yīng)的HTML標簽標記所述文本的內(nèi)容,以將其轉(zhuǎn)換為所述文本對應(yīng)的HTML元素。B31、根據(jù)B29所述的裝置,其特征在于,所述寫入模塊還配置為在所述輸入數(shù)據(jù)為圖片時,將所述圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取所述圖片的鏈接地址;并且,用HTML的MG標簽標記所述圖片,以將其轉(zhuǎn)換為所述圖片對應(yīng)的HTML元素,其中所述MG標簽的來源屬性為所述圖片的鏈接地址。B32、根據(jù)B29所述的裝置,其特征在于,所述寫入模塊還配置為在所述輸入數(shù)據(jù)為文件吋,將所述文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取所述文件的鏈接地址;并且,用自定義HTML標簽標記所述文件,以將其轉(zhuǎn)換為所述文件對應(yīng)的自定義HTML元素,其中所述自定義標簽的來源屬性為所述文件的鏈接地址。B33、根據(jù)B29所述的裝置,其特征在于,所述文件包括PDF或PPT文件,則所述自定義HTML元素為自定義的PDF或PPT元素。B34、根據(jù)B23至B 33任一項所述的裝置,其特征在于,使用BASE64編解碼對所述HTML元素和/或自定義HTML元素進行編碼。B35、根據(jù)B34所述的裝置,其特征在于,所述編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)。B36、根據(jù)B21至B35任一項所述的裝置,其特征在于,所述輸入數(shù)據(jù)通過以下任意之一的方式在所述文本框元素上進行輸入經(jīng)鍵盤輸入;剪貼板獲??;經(jīng)拖拽事件獲取。B37、根據(jù)B36所述的裝置,其特征在于,所述寫入模塊還配置為所述輸入數(shù)據(jù)經(jīng)鍵盤輸入時,通過網(wǎng)絡(luò)瀏覽器WebBrowser在編輯模式下接收經(jīng)鍵盤輸入的數(shù)據(jù);將所述輸入數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。B38、根據(jù)B36所述的裝置,其特征在于,所述寫入模塊還配置為所述輸入數(shù)據(jù)經(jīng)剪貼板獲取時,利用剪貼板復(fù)制網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的onpaste事件被觸發(fā)時,將復(fù)制的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。B39、根據(jù)B36所述的裝置,其特征在于,所述寫入模塊還配置為所述輸入數(shù)據(jù)經(jīng)拖拽事件獲取時,利用拖拽事件獲取網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的Ondrop事件被觸發(fā)時,將獲取的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。B40、根據(jù)B21至B39任ー項所述的裝置,其特征在干,所述提交事件是所述文本輸入框的控件失去焦點,或所述文本輸入框的提交按鈕被點擊。
權(quán)利要求
1.一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法,包括 在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層; 檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中; 檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存; 由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù); 在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層,包括 在網(wǎng)頁的所述文本輸入框加載完成事件觸發(fā)后,調(diào)用由網(wǎng)頁瀏覽器提供的定制處理函數(shù)生成覆蓋所述文本輸入框上的懸浮層。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括 根據(jù)所述輸入數(shù)據(jù)的數(shù)據(jù)類型,在所述文本輸入框的懸浮層中生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素; 將生成的HTML元素實時寫入瀏覽器側(cè)的文件中。
4.根據(jù)權(quán)利要求1至3任一項所述的方法,其特征在于,所述檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存,包括 檢測到對所述文本輸入框的輸入數(shù)據(jù)的提交事件,結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入后進行保存。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述結(jié)束對所述瀏覽器側(cè)的臨時文件的寫入之后,包括 若在所有輸入數(shù)據(jù)的寫入操作結(jié)束之前輸入數(shù)據(jù)輸入停止,則保存臨時文件中已寫入的部分輸入數(shù)據(jù); 重新加載所述網(wǎng)頁時,從所述臨時文件讀取已存儲的部分輸入數(shù)據(jù),在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述輸入數(shù)據(jù)輸入停止的原因包括下列至少之一 電腦死機斷電; 輸入信息誤刪除; 電腦中病毒; 指定文件無法讀取; 電腦系統(tǒng)崩潰。
7.根據(jù)權(quán)利要求1至6任一項所述的方法,其特征在于,所述瀏覽器異常包括下列任意之一 瀏覽器崩潰;瀏覽器卡死; 網(wǎng)頁所在的頁面進程崩潰或卡死。
8.根據(jù)權(quán)利要求1至7任一項所述的方法,其特征在于,所述檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,包括 檢測到所述懸浮層和/或文本輸入框的ondragenter和ondragover事件;或 檢測到所述懸浮層和/或文本輸入框的onbeforepaste和onpaste事件。
9.根據(jù)權(quán)利要求1至8任一項所述的方法,其特征在于,所述輸入數(shù)據(jù)包括文本、圖片和/或文件。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述輸入數(shù)據(jù)為文本時, 生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括 用相應(yīng)的HTML標簽標記所述文本的內(nèi)容,以將其轉(zhuǎn)換為所述文本對應(yīng)的HTML元素。
11.根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述輸入數(shù)據(jù)為圖片時, 生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括 將所述圖片上傳到圖床服務(wù)器,并從圖床服務(wù)器獲取所述圖片的鏈接地址;并且, 用HTML的IMG標簽標記所述圖片,以將其轉(zhuǎn)換為所述圖片對應(yīng)的HTML元素,其中所述IMG標簽的來源屬性為所述圖片的鏈接地址。
12.根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述輸入數(shù)據(jù)為文件時, 生成所述數(shù)據(jù)的HTML元素和/或自定義HTML元素,包括 將所述文件上傳到文件服務(wù)器,并從文件服務(wù)器獲取所述文件的鏈接地址;并且, 用自定義HTML標簽標記所述文件,以將其轉(zhuǎn)換為所述文件對應(yīng)的自定義HTML元素,其中所述自定義標簽的來源屬性為所述文件的鏈接地址。
13.根據(jù)權(quán)利要求9所述的方法,其特征在于,所述文件包括PDF或PPT文件,則所述自定義HTML元素為自定義的PDF或PPT元素。
14.根據(jù)權(quán)利要求3至13任一項所述的方法,其特征在于,使用BASE64編解碼對所述HTML元素和/或自定義HTML元素進行編碼。
15.根據(jù)權(quán)利要求14所述的方法,其特征在于,所述編碼的HTML元素和/或自定義HTML元素以PLAIN文本方式上傳保存至服務(wù)器側(cè)。
16.根據(jù)權(quán)利要求1至15任一項所述的方法,其特征在于,所述輸入數(shù)據(jù)通過以下任意之一的方式在所述文本框兀素上進行輸入 經(jīng)鍵盤輸入; 剪貼板獲??; 經(jīng)拖拽事件獲取。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述輸入數(shù)據(jù)經(jīng)鍵盤輸入時, 獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括 通過網(wǎng)絡(luò)瀏覽器webBrowser在編輯模式下接收經(jīng)鍵盤輸入的數(shù)據(jù); 將所述輸入數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。
18.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述輸入數(shù)據(jù)經(jīng)剪貼板獲取時, 獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括 利用剪貼板復(fù)制網(wǎng)頁中的文本數(shù)據(jù);當所述懸浮層和/或文本輸入框的onpaste事件被觸發(fā)時,將復(fù)制的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。
19.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述輸入數(shù)據(jù)經(jīng)拖拽事件獲取時, 獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中,包括 利用拖拽事件獲取網(wǎng)頁中的文本數(shù)據(jù); 當所述懸浮層和/或文本輸入框的Ondrop事件被觸發(fā)時,將獲取的文本數(shù)據(jù)寫入到瀏覽器側(cè)的文件中。
20.一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的裝置,包括 生成模塊,配置為在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層; 寫入模塊,配置為檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中; 保存模塊,配置為檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存; 讀取模塊,配置為由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù); 加載模塊,配置為在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。
全文摘要
本發(fā)明公開了一種瀏覽器中進行輸入數(shù)據(jù)恢復(fù)的方法,包括在網(wǎng)頁的文本輸入框加載完成后,生成覆蓋所述文本輸入框上的懸浮層;檢測到向所述文本輸入框輸入數(shù)據(jù)的事件,獲取所述輸入數(shù)據(jù)并實時地寫入到瀏覽器側(cè)的文件中;檢測到瀏覽器異常,在所述文件中將所述輸入數(shù)據(jù)與所述網(wǎng)頁的URL和瀏覽器發(fā)生異常時間對應(yīng)地進行保存;由瀏覽器異常而重新加載所述網(wǎng)頁時,從所述被寫入的文件中讀取所述網(wǎng)頁URL對應(yīng)的在瀏覽器發(fā)生異常時間時保存的輸入數(shù)據(jù);在所述文本輸入框上的懸浮層中恢復(fù)加載所述輸入數(shù)據(jù)。采用本發(fā)明能夠?qū)?shù)據(jù)進行瀏覽器級別的恢復(fù)。本發(fā)明還提供了相應(yīng)的裝置。
文檔編號G06F9/44GK103034724SQ20121054507
公開日2013年4月10日 申請日期2012年12月14日 優(yōu)先權(quán)日2012年12月14日
發(fā)明者唐曦, 陳志 , 李鳴, 任寰 申請人:北京奇虎科技有限公司, 奇智軟件(北京)有限公司