本發(fā)明涉及互聯(lián)網(wǎng)技術領域,特別是涉及一種單頁面處理方法及裝置。
背景技術:
單頁面可以是一種結構布局很簡單的靜態(tài)頁面,單頁面的頁面結構簡單、布局清晰且易于維護。但是在單頁面應用類型的網(wǎng)站上,由于同時只能顯示一個頁面,在填寫頁面表單的過程中,若需要進入其他頁面查看或復制信息,則在進入其他頁面后,不管使用后退功能還是重新打開頁面,當再次回到之前填寫表單的頁面時,頁面上輸入的內(nèi)容將消失,之前填寫表單的頁面處于初始狀態(tài),這也是單頁面應用網(wǎng)站的特點。
同時在單頁面應用網(wǎng)站上也經(jīng)常會存在一些比較耗時的操作,例如實時計算、導出及下載文件等,操作過程中用戶只能選擇等待,如果用戶中途打開了其他頁面,則即使操作成功,用戶也無法查看到結果;而且在操作開始之后,一旦打開其他頁面,操作的任務將被丟棄,不管是使用瀏覽器的后退功能還是重新打開頁面,操作都需要重新進行。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提出了一種單頁面處理方法及裝置,主要目的在于解決現(xiàn)有的單頁面應用過程中無法將頁面狀態(tài)臨時保存和恢復的問題。
依據(jù)本發(fā)明的第一個方面,本發(fā)明提出了一種單頁面處理方法,包括:
在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容;其中,所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;
根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;
將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;
在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。
依據(jù)本發(fā)明的第二個方面,本發(fā)明提出了一種單頁面處理裝置,包括:
獲取單元,用于在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容;其中, 所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;
創(chuàng)建單元,用于根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;
添加單元,用于將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;
恢復單元,用于在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。
借由上述技術方案,本發(fā)明實施例提供的單頁面處理方法及裝置,能夠在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容;其中,所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。而現(xiàn)有的單頁面應用由于同時只能顯示一個頁面,在進入其他頁面后,不管使用后退功能還是重新打開頁面,當再次回到之前的頁面時,之前頁面上輸入的內(nèi)容將消失,頁面處于初始狀態(tài)。因此,與現(xiàn)有技術中單頁面應用無法將頁面狀態(tài)臨時保存和恢復的缺陷相比,本發(fā)明能夠在單頁面應用過程中在頁面之間進行切換,并且能夠恢復到切換之前的頁面狀態(tài)。
上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內(nèi)容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的具體實施方式。
附圖說明
通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
圖1示出了本發(fā)明實施例提供的一種單頁面處理方法的流程圖;
圖2示出了本發(fā)明實施例提供的一種單頁面處理裝置的組成框圖;
圖3示出了本發(fā)明實施例提供的另一種單頁面處理裝置的組成框圖;
圖4示出了本發(fā)明實施例提供的另一種單頁面處理裝置的組成框圖。
具體實施方式
下面將參照附圖更加詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
在單頁面應用類型的網(wǎng)站上,由于同時只能顯示一個頁面,在填寫頁面表單的過程中,若需要進入其他頁面查看或復制信息,則在進入其他頁面后,不管使用后退功能還是重新打開頁面,當再次回到之前填寫表單的頁面時,頁面上輸入的內(nèi)容將消失,之前填寫表單的頁面處于初始狀態(tài)。
由于單頁面應用具有上述特點,因此在單頁面應用過程中無法將頁面狀態(tài)臨時保存和恢復。為了解決單頁面應用的這一缺陷,本發(fā)明實施例提供了一種單頁面處理方法,如圖1所示,該方法包括:
101、在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容。
其中,頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容。
由于在使用單頁面應用過程中,若要在頁面之間進行切換,則被切換的頁面無法恢復到切換之前的狀態(tài),即頁面被切換后若返回到切換之前的頁面時,頁面處于初始狀態(tài),頁面在切換之前輸入的數(shù)據(jù)內(nèi)容都消失不見。因此,本發(fā)明實施例在使用單頁面應用時,為了使頁面恢復到切換之前的狀態(tài),也就是恢復頁面在切換之前輸入的數(shù)據(jù)內(nèi)容,就需要掛起待恢復的頁面。其中,掛起待恢復的頁面是指用戶在當前頁面中進行內(nèi)容輸入時,如果想中途打開其他頁面,就需要將當前頁面的狀態(tài)掛起,所述狀態(tài)掛起就是臨時保存當前頁面的輸入內(nèi)容并掛起當前頁面。
綜上所述,本發(fā)明實施例需要執(zhí)行步驟101在掛起目標頁面時獲取目標頁面的頁面內(nèi)容。其中,獲取的頁面內(nèi)容是用戶在頁面中輸入的內(nèi)容,所述目標頁面就是用戶輸入了內(nèi)容的頁面,同時也是待恢復頁面。
102、根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象。
當在步驟101中獲取到目標頁面的頁面內(nèi)容之后,為了后續(xù)在恢復所述目標頁面時能夠將切換之前目標頁面的頁面內(nèi)容顯示在恢復后的目標頁面中,就需要將步驟101中獲取到的目標頁面的頁面內(nèi)容進行保存。因此, 本發(fā)明實施例在步驟101之后,需要執(zhí)行步驟102根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象。其中,所述頁面對象用于保存目標頁面的頁面范圍內(nèi)輸入的頁面內(nèi)容。
103、將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中。
當在步驟102中根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象之后,也就是將目標頁面的頁面內(nèi)容保存在頁面對象中之后,為了不影響目標頁面掛起后對其他頁面的操作進行影響,同時為了不影響掛起的目標頁面的頁面對象中保存的頁面內(nèi)容(如長時間運行的任務型頁面內(nèi)容)的繼續(xù)執(zhí)行,因此,本發(fā)明實施例需要執(zhí)行步驟103將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中。
在瀏覽器中,全局對象有著特殊的用途,除了保存javascript中所有普通功能和作為全局上下文環(huán)境外,還容納了大量特定于瀏覽器的對象。其中,本發(fā)明實施例中的頁面對象作為全局頁面對象,構成全局頁面對象數(shù)組,本發(fā)明實施例的全局頁面對象數(shù)組中的每個頁面對象都是特定于瀏覽器的對象。
因此,所述全局頁面對象數(shù)組(也就是其中的每個頁面對象)伴隨著網(wǎng)頁的整個生命周期,直到用戶將網(wǎng)頁關閉,才由瀏覽器自動回收數(shù)組對象。所述全局頁面對象數(shù)組臨時存儲著所有被掛起頁面的頁面狀態(tài),每個頁面狀態(tài)都是對原頁面對象的引用。全局頁面對象數(shù)組的存在是為了防止用戶切換頁面時,瀏覽器自動回收掉原頁面對象后轉而生成新的頁面對象。通過所述全局頁面對象數(shù)組,就保證了頁面被掛起后,被掛起頁面的狀態(tài),包括被掛起頁面中正在執(zhí)行的任務,都可以繼續(xù)保持,而不會被瀏覽器回收銷毀。
瀏覽器在進行內(nèi)存垃圾回收時,會判斷全局頁面對象數(shù)組中是否還保存著頁面對象,若全局頁面對象數(shù)組中保存著頁面對象,瀏覽器就會判斷該頁面對象在使用中,從而不予回收?;谏鲜鲈?,所以本發(fā)明實施例中的全局頁面對象數(shù)組的作用域是全局的,若全局頁面對象數(shù)組在瀏覽器打開時就創(chuàng)建,則其隨著瀏覽器運行程序的開始而開始,在瀏覽器運行程序結束時才消亡。因此保存在頁面對象中的任務型頁面內(nèi)容被加入全局頁 面對象數(shù)組中,即使目標頁面被掛起后切換到其他頁面,該任務型頁面內(nèi)容會一直存在,不會被瀏覽器回收,所以目標頁面進行中的任務還可以繼續(xù)執(zhí)行。
104、在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。
當在步驟103中將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中之后,就可以隨意切換到其他頁面進行操作。當在其他頁面的操作完成之后,若用戶需要回到切換之前的目標頁面中繼續(xù)操作,也就是回到被掛起的目標頁面中進行操作,就需要恢復所述目標頁面,因此在步驟104中就可以從全局頁面對象數(shù)組中選擇所述目標頁面的頁面對象,將所述頁面對象中保存的頁面內(nèi)容對應的顯示在所述目標頁面中,從而使目標頁面恢復到切換之前的狀態(tài)。
本發(fā)明實施例提供的一種單頁面處理方法,能夠在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容;其中,所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。而現(xiàn)有的單頁面應用由于同時只能顯示一個頁面,在進入其他頁面后,不管使用后退功能還是重新打開頁面,當再次回到之前的頁面時,之前頁面上輸入的內(nèi)容將消失,頁面處于初始狀態(tài)。因此,與現(xiàn)有技術中單頁面應用無法將頁面狀態(tài)臨時保存和恢復的缺陷相比,本發(fā)明能夠在單頁面應用過程中在頁面之間進行切換,并且能夠恢復到切換之前的頁面狀態(tài)。
為了更好的對上述圖1所示的方法進行理解,作為對上述實施方式的細化和擴展,本發(fā)明實施例將針對圖1中的各步驟進行詳細說明。
在本發(fā)明實施例中,為了使單頁面應用的頁面之間能夠隨意切換并且能夠恢復到切換之前的頁面狀態(tài),本發(fā)明實施例為單頁面應用的頁面增加了頁面狀態(tài)的掛起和恢復功能。其中,頁面狀態(tài)掛起功能,是用戶在當前頁面中進行內(nèi)容輸入時,如果想中途打開其他頁面,只需使用本發(fā)明實施 例提供的一種對于整個網(wǎng)站頁面全局可用的功能,掛起當前頁面,即可臨時保存當前頁面中的輸入內(nèi)容,并掛起整個當前頁面。其中,掛起頁面可以認為是將頁面最小化后置于后臺,頁面掛起后的靜態(tài)內(nèi)容如頁面中輸入的數(shù)據(jù)等會被保存,頁面掛起后的動態(tài)內(nèi)容如頁面中運行的任務尤其是需要長時間運行的任務,其在頁面掛起后運行不會中斷,還會繼續(xù)執(zhí)行。而頁面恢復功能,是用戶可隨時恢復被掛起的頁面,恢復后的頁面包含所有之前輸入的內(nèi)容,并且用戶可以基于恢復后的頁面繼續(xù)操作。
基于本發(fā)明實施例提供的上述功能,作為一種可選的實施方式,本發(fā)明實施例可以在單頁面應用的頁面中增加全局的掛起功能按鈕和恢復功能按鈕,可以只有在打開具有該功能按鈕的頁面才能顯示該功能,也可以在所有頁面中都顯示該功能。
下述將以所有頁面中都顯示該功能為例,對本發(fā)明提供的單頁面處理方法進行說明。當用戶在當前頁面中輸入了內(nèi)容后,若用戶需要切換到其他頁面進行操作,并且后續(xù)還要回到當前進行輸入的頁面時,就可以點擊當前頁面也就是后續(xù)所述的目標頁面中的掛起功能按鈕。此時當點擊目標頁面中的掛起功能按鈕之后,就開始獲取目標頁面中的頁面內(nèi)容,其中獲取的頁面內(nèi)容是用戶輸入的頁面內(nèi)容,而不是目標頁面中本身具有的頁面內(nèi)容。在本發(fā)明實施例中,獲取的頁面內(nèi)容既包括靜態(tài)的內(nèi)容,同時也包括動態(tài)的內(nèi)容,其中靜態(tài)的內(nèi)容包括用戶輸入的內(nèi)容等(通常包括字符、數(shù)字等),動態(tài)的內(nèi)容包括用戶在頁面中添加的運行任務等。因此,本發(fā)明實施例獲取的目標頁面中的頁面內(nèi)容可以概括為兩種類型的頁面內(nèi)容:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容。
當獲取到目標頁面中的頁面內(nèi)容之后,為了后續(xù)在恢復所述目標頁面時能夠將切換之前目標頁面的頁面內(nèi)容顯示在恢復后的目標頁面中,本發(fā)明實施例就需要根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象,也就是將目標頁面的頁面內(nèi)容保存在頁面對象中。由于獲取的頁面內(nèi)容的類型不同,因此,下述將針對根據(jù)不同類型的頁面內(nèi)容創(chuàng)建目標頁面的頁面對象進行說明。
當獲取到數(shù)據(jù)型頁面內(nèi)容時,可以根據(jù)頁面內(nèi)容中的數(shù)據(jù)類型創(chuàng)建帶 有所述數(shù)據(jù)類型對應屬性的頁面對象,將所述數(shù)據(jù)類型的數(shù)據(jù)賦值給頁面對象中的對應屬性,以便將所述數(shù)據(jù)在全局頁面對象數(shù)組中進行保存。
例如,當獲取的頁面內(nèi)容為數(shù)量時,可以創(chuàng)建一個帶有amount屬性的頁面對象page,將所述數(shù)量賦值給page.amount;或者,當獲取的頁面內(nèi)容為名稱時,可以創(chuàng)建一個帶有name屬性的頁面對象page,將所述名稱賦值給page.name;或者,當獲取的頁面內(nèi)容既包括數(shù)量又包括名稱時,可以創(chuàng)建既帶有amount屬性又帶有name屬性的頁面對象page,并將所述數(shù)量和名稱分別賦值給page.amount和page.name。
當獲取到任務型頁面內(nèi)容時,可以根據(jù)頁面內(nèi)容中的任務類型創(chuàng)建帶有所述任務類型對應屬性的頁面對象,將所述任務類型的任務賦值給頁面對象中的對應屬性,以便所述任務在全局頁面對象數(shù)組中繼續(xù)執(zhí)行。對于運行的任務型頁面內(nèi)容,尤其是長時間運行的任務型頁面內(nèi)容,當用戶需要切換到其他頁面進行操作時,為了使用戶能夠直接切換到其他頁面,而不必等到目標頁面中的任務運行完成后才能進行頁面切換,本發(fā)明實施例可以在任務執(zhí)行前在目標頁面先創(chuàng)建全局的任務對象。
例如,當獲取的頁面內(nèi)容為導出文件任務時,可以創(chuàng)建一個帶有exporttask屬性的頁面對象page,將所述導出文件任務的任務對象賦值給page.exporttask;或者,當獲取的頁面內(nèi)容為導入文件任務時,可以創(chuàng)建一個帶有inputtask屬性的頁面對象page,將所述導入文件任務的任務對象賦值給page.inputtask;或者,當獲取的頁面內(nèi)容既包括導出文件任務又包括導入文件任務時,可以創(chuàng)建既帶有exporttask屬性又帶有inputtask屬性的頁面對象page,并將所述導出文件任務的任務對象和導入文件任務的任務對象分別賦值給page.exporttask和page.inputtask。
當通過頁面對象保存了獲取的目標頁面中的頁面內(nèi)容之后,為了不影響目標頁面掛起后對其他頁面的操作進行影響,同時也為了不影響掛起的目標頁面的頁面對象中保存的任務型頁面內(nèi)容的繼續(xù)執(zhí)行,本發(fā)明實施例可以將創(chuàng)建的目標頁面的頁面對象加入全局頁面對象數(shù)組pagelist中。由于全局頁面對象數(shù)組的作用域是全局的,因此將目標頁面的頁面對象中的任務型頁面內(nèi)容加入到全局頁面對象數(shù)組中,能夠保證在目標頁面掛起后 即使切換頁面,所述任務型頁面內(nèi)容也不會被瀏覽器回收,進行中的任務會一直存在并可以繼續(xù)執(zhí)行。
當在目標頁面恢復之前,也就是在目標頁面掛起的過程中,若目標頁面中的任務執(zhí)行完成,則執(zhí)行結果可以在頁面對象或全局頁面對象數(shù)組中進行保存。例如,對于上述導出文件任務而言,當文件導出成功后由于已經(jīng)進行了保存,因此能夠直接進行下載,可以不必恢復目標頁面。這里需要說明的是,當目標頁面掛起并且切換到其他頁面時,由于目標頁面已經(jīng)不存在當前瀏覽器dom中了,因此掛起的目標頁面中的任務不能包含對目標頁面dom的修改,否則可能引起運行錯誤。
由于在實際情況下,用戶可能需要多次掛起一個頁面,也就是恢復一個掛起多次的頁面,因此為了便于用戶準確的識別需要恢復的目標頁面,不會出現(xiàn)恢復錯誤的情況發(fā)生,本發(fā)明實施例可以為目標頁面的頁面對象設置對象標識,將具有對象標識的頁面對象加入全局頁面對象數(shù)組中。所述對象標識用于區(qū)分掛起的多個目標頁面,為了有效的區(qū)分掛起的多個目標頁面,作為一種可選的實施方式,本發(fā)明實施例可以將時間戳作為對象標識。當選用時間戳作為目標頁面的頁面對象的對象標識時,就是將頁面對象加入全局頁面對象數(shù)組時的時間作為對象標識設置給頁面對象,其中,將頁面對象加入全局頁面對象數(shù)組時的時間,可以是線上當前操作時間,即將頁面對象加入全局頁面對象數(shù)組時的當前時間,也可以是線下操作時間,即將頁面對象加入全局頁面對象數(shù)組的過程當中的某一時刻作為將頁面對象加入全局頁面對象數(shù)組時的時間;對上述兩種對象標識設置方式,本發(fā)明不做任何限定。通過這種方式可以使用戶根據(jù)時間戳的不同,選擇需要恢復的某一時間掛起的目標頁面。
當通過上述方式將目標頁面的頁面對象加入到全局頁面對象數(shù)組中之后,就可以切換到其他頁面進行操作了。當其他頁面的操作結束之后,若需要恢復到切換之前的目標頁面時,也就是被掛起的目標頁面時,可以從全局頁面對象數(shù)組中選擇需要恢復的目標頁面的頁面對象進行恢復。具體的,可以根據(jù)頁面對象的時間戳選擇需要恢復的目標頁面的頁面對象;并讀取所述用于恢復的目標頁面在掛起時獲取的頁面內(nèi)容,也就是讀取頁面 對象中的各個屬性值;并將讀取的頁面內(nèi)容(屬性值)對應賦值到恢復的目標頁面中,從而使得恢復后的目標頁面還原到切換之前目標頁面的狀態(tài)。
這里需要說明的是,若讀取的所述用于恢復的目標頁面在掛起時獲取的頁面內(nèi)容為數(shù)據(jù)型頁面內(nèi)容時,可以將讀取的數(shù)據(jù)直接賦值給恢復的目標頁面中;若讀取的所述用于恢復的目標頁面在掛起時獲取的頁面內(nèi)容為任務型頁面內(nèi)容時,可以將讀取的任務對象賦值給恢復的目標頁面的頁面對象,其中讀取的任務對象的狀態(tài)可以繼續(xù)保持,若讀取的任務對象的狀態(tài)為任務執(zhí)行結束,則在賦值給恢復的目標頁面之后,可以繼續(xù)在目標頁面中對完成的任務進行后續(xù)操作;若讀取的任務對象的狀態(tài)為任務執(zhí)行中,則在賦值給恢復的目標頁面之后,可以繼續(xù)在目標頁面中繼續(xù)執(zhí)行所述任務。而對于需要修改dom的任務而言,在賦值給恢復的目標頁面之后,可以后續(xù)執(zhí)行,如在恢復的目標頁面中顯示經(jīng)過任務執(zhí)行向服務器查詢到的訂單列表等。
進一步的,為了保持全局頁面對象數(shù)組的簡潔,同時能夠避免由于加入頁面對象過多而導致用戶選擇恢復目標頁面時出現(xiàn)差錯,本發(fā)明實施例在從全局頁面對象數(shù)組中選擇目標頁面的頁面對象進行恢復之后,可以將恢復的目標頁面的頁面對象從全局頁面對象數(shù)組中進行刪除,避免后續(xù)再次恢復頁面時由于選擇頁面對象錯誤而造成恢復失敗。
本發(fā)明實施例的單頁面處理方法提供的頁面掛起和恢復功能,能夠使頁面掛起前正在執(zhí)行的任務在頁面掛起后不會中斷,而是繼續(xù)執(zhí)行,待任務完成后做相應處理。例如,若在恢復頁面之前被掛起的任務執(zhí)行完成,則可以通知用戶查看或進行下載等操作;若任務沒有執(zhí)行完成時就恢復了頁面,則該任務可以在恢復后的頁面中繼續(xù)執(zhí)行,從而解決了頁面切換造成頁面中任務執(zhí)行耗時的問題。
進一步的,作為對上述圖1所示方法的應用,本發(fā)明實施例還提供了一種單頁面處理裝置,如圖2所示,該裝置包括:獲取單元21、創(chuàng)建單元22、添加單元23以及恢復單元24,其中,
獲取單元21,用于在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容;其中,所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;
創(chuàng)建單元22,用于根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;
添加單元23,用于將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;
恢復單元24,用于在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。
進一步的,創(chuàng)建單元22用于根據(jù)數(shù)據(jù)型頁面內(nèi)容中的數(shù)據(jù)類型,創(chuàng)建帶有所述數(shù)據(jù)類型對應屬性的頁面對象;還用于將數(shù)據(jù)型頁面內(nèi)容中的數(shù)據(jù)賦值給頁面對象中的對應屬性,以便將所述數(shù)據(jù)在全局頁面對象數(shù)組中進行保存;創(chuàng)建單元22用于根據(jù)任務型頁面內(nèi)容中的任務類型,創(chuàng)建帶有所述任務類型對應屬性的頁面對象;還用于將任務型頁面內(nèi)容中的任務賦值給頁面對象中的對應屬性,以便所述任務在全局頁面對象數(shù)組中繼續(xù)執(zhí)行。
進一步的,如圖3所示,添加單元23包括:
設置模塊231,用于為所述目標頁面的頁面對象設置對象標識;其中,所述對象標識包括時間戳;
添加模塊232,用于將具有對象標識的頁面對象加入全局頁面對象數(shù)組中。
進一步的,如圖3所示,恢復單元24包括:
選擇模塊241,用于在全局頁面對象數(shù)組中選擇用于恢復的目標頁面的頁面對象;
讀取模塊242,用于讀取所述用于恢復的目標頁面在掛起時獲取的頁面內(nèi)容;
賦值模塊243,用于將所述頁面內(nèi)容對應賦值給所述用于恢復的目標頁面。
進一步的,恢復單元24用于讀取所述用于恢復的目標頁面在掛起時獲取的數(shù)據(jù)型頁面內(nèi)容和/或任務型頁面內(nèi)容;還用于將讀取的所述數(shù)據(jù)型頁面內(nèi)容中的數(shù)據(jù)和/或任務型頁面內(nèi)容中的任務對應賦值給所述用于恢復的目標頁面。
進一步的,如圖4所示,所述裝置還包括:
刪除單元25,用于將恢復的目標頁面的頁面對象從全局頁面對象數(shù)組中進行刪除。
本發(fā)明實施例提供的一種單頁面處理裝置,能夠在掛起目標頁面時,獲取目標頁面的頁面內(nèi)容;其中,所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。而現(xiàn)有的單頁面應用由于同時只能顯示一個頁面,在進入其他頁面后,不管使用后退功能還是重新打開頁面,當再次回到之前的頁面時,之前頁面上輸入的內(nèi)容將消失,頁面處于初始狀態(tài)。因此,與現(xiàn)有技術中單頁面應用無法將頁面狀態(tài)臨時保存和恢復的缺陷相比,本發(fā)明能夠在單頁面應用過程中在頁面之間進行切換,并且能夠恢復到切換之前的頁面狀態(tài)。
此外,本發(fā)明實施例的單頁面處理裝置提供的頁面掛起和恢復功能,能夠使頁面掛起前正在執(zhí)行的任務在頁面掛起后不會中斷,而是繼續(xù)執(zhí)行,待任務完成后做相應處理。若任務執(zhí)行完成時,則可以通知用戶查看;若任務沒有執(zhí)行完成時就恢復了頁面,則該任務可以繼續(xù)執(zhí)行,從而解決了頁面切換造成頁面中任務執(zhí)行耗時的問題。
所述單頁面處理裝置包括處理器和存儲器,上述獲取單元21、創(chuàng)建單元22、添加單元23以及恢復單元24,均作為程序單元存儲在存儲器中,由處理器執(zhí)行存儲在存儲器中的上述程序單元來實現(xiàn)相應的功能。
處理器中包含內(nèi)核,由內(nèi)核去存儲器中調(diào)取相應的程序單元。內(nèi)核可以設置一個或以上,通過調(diào)整內(nèi)核參數(shù)來實現(xiàn)單頁面應用過程中將頁面狀態(tài)進行臨時保存和恢復目的。
存儲器可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram),存儲器包括至少一個存儲芯片。
本申請還提供了一種計算機程序產(chǎn)品,當在數(shù)據(jù)處理設備上執(zhí)行時,適于執(zhí)行初始化有如下方法步驟的程序代碼:在掛起目標頁面時,獲取目 標頁面的頁面內(nèi)容;其中,所述頁面內(nèi)容包括:數(shù)據(jù)型頁面內(nèi)容和任務型頁面內(nèi)容;根據(jù)所述頁面內(nèi)容創(chuàng)建目標頁面的頁面對象;將所述目標頁面的頁面對象加入全局頁面對象數(shù)組中;在恢復所述目標頁面時,根據(jù)從全局頁面對象數(shù)組中選擇的所述目標頁面的頁面對象,對掛起的所述目標頁面進行恢復。
本領域內(nèi)的技術人員應明白,本申請的實施例可提供為方法、系統(tǒng)、或計算機程序產(chǎn)品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、cd-rom、光學存儲器等)上實施的計算機程序產(chǎn)品的形式。
本申請是參照根據(jù)本申請實施例的方法、設備(系統(tǒng))、和計算機程序產(chǎn)品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數(shù)據(jù)處理設備的處理器以產(chǎn)生一個機器,使得通過計算機或其他可編程數(shù)據(jù)處理設備的處理器執(zhí)行的指令產(chǎn)生用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數(shù)據(jù)處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數(shù)據(jù)處理設備上,使得在計算機或其他可編程設備上執(zhí)行一系列操作步驟以產(chǎn)生計算機實現(xiàn)的處理,從而在計算機或其他可編程設備上執(zhí)行的指令提供用于實現(xiàn)在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(cpu)、輸入/ 輸出接口、網(wǎng)絡接口和內(nèi)存。
存儲器可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(ram)和/或非易失性內(nèi)存等形式,如只讀存儲器(rom)或閃存(flashram)。存儲器是計算機可讀介質的示例。
計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現(xiàn)信息存儲。信息可以是計算機可讀指令、數(shù)據(jù)結構、程序的模塊或其他數(shù)據(jù)。計算機的存儲介質的例子包括,但不限于相變內(nèi)存(pram)、靜態(tài)隨機存取存儲器(sram)、動態(tài)隨機存取存儲器(dram)、其他類型的隨機存取存儲器(ram)、只讀存儲器(rom)、電可擦除可編程只讀存儲器(eeprom)、快閃記憶體或其他內(nèi)存技術、只讀光盤只讀存儲器(cd-rom)、數(shù)字多功能光盤(dvd)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitorymedia),如調(diào)制的數(shù)據(jù)信號和載波。
以上僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內(nèi)所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內(nèi)。