技術領域
本發明涉及通信領域,尤其涉及一種網頁應用程序更新方法及通信設備。
背景技術
隨著網頁(Web)技術和超文本標記語言5(Hypertext?Markup?Language,HTML5)的快速發展,出現了采用開放Web技術來構建的移動操作系統(例如:Firefox?OS系統),這種類型的移動操作系統是一種網絡作業環境,整個系統和運行在該系統上的應用程序(Application,App)均是基于開放網絡技術構建的,從而具有應用跨平臺、設備廉價和系統開源等優勢。其中,運行在該系統上的Web?App主要有網頁形式的Web?App和打包封閉形式的Web?App,打包封閉形式的Web?App能夠訪問設備底層的應用程序接口(Application?Programming?Interface,API),如重力傳感器和方向傳感器等API,從而能夠開發具有極強用戶體驗的Web?App。但這種Web?App在新版本時,用戶需要退出當前使用的Web?App,安裝新的版本后再重新啟動Web?App,用戶才能繼續使用。即采用開放Web?App技術來構建的移動操作系統中的打包封閉形式的Web?App更新麻煩,且更新過程中用戶體驗較差。
發明內容
本發明實施例提供了一種網頁應用程序更新方法及通信設備,可以使采用開放Web?App技術來構建的移動操作系統中的打包封閉形式的Web?App更新變得很簡便,且更新過程中用戶體驗比較高。
第一方面,本發明實施例提供的一種網頁應用程序更新方法,包括:
當接收到用于更新當前運行的網頁應用程序的更新請求時,繼續運行所述網頁應用程序,并下載所述網頁應用程序的新版本的更新包;
當所述更新包下載完畢后,在后臺對所述更新包執行安裝,且所述安裝生成的新安裝文件存儲于第一路徑,所述第一路徑不同于所述網頁應用程序的當前版本的安裝文件存儲的第二路徑;
將所述新安裝文件中的頁面文件加載至所述網頁應用程序,以顯示新版本頁面。
在第一方面的第一種可能的實現方式中,所述頁面文件包括:
所述新安裝文件中與所述網頁應用程序當前所在頁面對應的頁面文件;或者
所述新安裝文件中用于顯示所述新版本的網頁應用程序的首頁的頁面文件。
結合第一方面的第一種可能的實現方式,在第一方面的第二種可能的實現方式中,所述將所述新安裝文件中的頁面文件加載至所述網頁應用程序,包括:
確定所述網頁應用程序當前所在頁面在所述第二路徑的子路徑;
將所述第一路徑的所述子路徑的頁面文件加載至所述網頁應用程序。
結合第一方面的第二種可能的實現方式,在第一方面的第三種可能的實現方式中,所述以顯示新版本頁面之前,所述方法包括:
緩存用于表示所述網頁應用程序的當前狀態的數據;
所述以顯示新版本頁面之后,所述方法包括:
在所述新版本頁面中加載所述數據,以在所述新版本頁面中顯示所述當前狀態。
結合第一方面的第三種可能的實現方式,在第一方面的第四種可能的實現方式中,所述緩存用于表示所述網頁應用程序的當前狀態的數據,包括:
調用預先設置的應用程序接口中的第一命令,將用于表示所述網頁應用程序的當前狀態的數據緩存至與所述應用程序接口對應的緩存文件夾;
所述在所述新版本頁面中加載所述數據,包括:
調用所述應用程序接口的第二命令,在所述新版本頁面中加載所述緩存文件夾的所述數據。
結合第一方面的上述任一實現方式,在第一方面的第五所述下載所述網頁應用程序的新版本的更新包,包括:
下載所述網頁應用程序的新版本的所有數據包;或者
下載所述網頁應用程序的新版本中與所述網頁應用程序的當前版本的區別數據包。種可能的實現方式中,
結合第一方面的第五種可能的實現方式,在第一方面的第六種可能的實現方式中,所述下載所述網頁應用程序的新版本中與所述網頁應用程序的當前版本的區別文件的數據包之后,所述在后臺對所述更新包執行安裝之前,所述方法還包括:
將所述當前版本中與所述新版本的相同文件轉移用于存儲所述區別文件的數據包的文件夾。
結合第一方面或者第一方面的第一種至第四種中任一實現方式,在第一方面的第七種可能的實現方式中,所述在后臺對所述更新包執行安裝之后,所述方法還包括:
將所述第一路徑設置為所述網頁應用程序的默認路徑。