一種瀏覽器自動網頁資源下載方法及裝置的制造方法
【技術領域】
[0001]本發明屬于互聯網電視技術領域,尤其涉及一種瀏覽器自動網頁資源下載方法及
目.ο
【背景技術】
[0002]隨著IPTV和智能互聯網電視的不斷發展和日益普及,相關的產品不斷出現,極大的改善了人們的家庭視聽娛樂體驗。對于IPTV數字機頂盒和互聯網電視而言,頁面內容的展示是最基本的功能。其中,負責頁面內容的解析、排版和顯示的瀏覽器無疑充當著核心角色。瀏覽器首先對請求的頁面內容進行解析,然后根據解析的結果對頁面元素進行排版布局,最后根據布局的結果進行繪制操作,將頁面內容顯示在電視上。同時,瀏覽器還要負責處理按鍵響應和焦點移動。其中,webkit瀏覽器作為一款開源和優秀的瀏覽器內核,得到了非常廣泛的應用。
[0003]在平時的工作中,經常會進行模板的對接工作,如用電視接入國外門戶網站進行功能對接(頁面展示、焦點移動、按鍵響應、播放功能等)。在模板對接的過程中,常常會遇到大量的頁面展示的問題,其中的絕大部分問題都是由于頁面的寫法不正確或不規范導致。這個時候,為了分析和定位問題,就必須將出現問題的頁面保存到本地分析。將服務器的模板頁面保存到本地,除了可以提高復現、分析和定位問題的效率之外,還有一個好處:TV客戶端是通過網絡向服務器請求數據,服務器再通過網絡把頁面數據返回給TV,如果網絡出現問題,無法連接服務器,或者網絡性能很差,就會大大影響測試和解決問題的進展。
[0004]但是,webkit瀏覽器并不會自動將訪問過的頁面內容保存到本地,目前也沒有比較好的自動保存頁面內容的機制,這給復現、分析和定位問題帶來了很大的不便。同時,一方面,如果只保存當前的問題頁面,往往不夠全面。因為問題頁面很可能引用了其它的外部資源,如js文件,CSS文件和image資源,甚至是ajax請求;另一方面,即使將問題頁面和其引用的外部資源都保存下來了,如果不按照服務器上模板的目錄結構保存到本地,就需要耗費大量的時間去手動調整頁面的目錄結構,以及頁面中引用資源的路徑。
【發明內容】
[0005]本發明的目的在于提供一種瀏覽器自動網頁資源下載方法及裝置,旨在通過自動保存訪問過的網頁資源(html頁面,css文件,js文件,圖片資源,ajax請求數據),提高復現定位電視、機頂盒應用場景的故障的效率,并能在本地實現訪問遠端服務器的效果。
[0006]本發明是這樣實現的,一種瀏覽器自動網頁資源下載方法,所述方法包括以下步驟:
[0007]瀏覽器請求網絡資源并完成數據下載;
[0008]獲取下載資源的絕對路徑,根據所述絕對路徑判斷網絡資源的類型;
[0009]根據所判斷得到的網絡資源類型的絕對路徑獲取到資源的目錄和文件名;
[0010]判斷網絡資源所在的本地目錄是否已經存在,如果不存在,則創建與網絡資源對應的本地目錄;
[0011]在本地創建文件名,并將下載的所述數據寫入文件。
[0012]優選地,在執行所述瀏覽器請求網絡資源并完成數據下載的步驟之后還包括:判斷宏開關的值,并在宏開關的值為true時,打開宏開關。
[0013]優選地,在執行所述瀏覽器請求網絡資源并完成數據下載的步驟之前還包括:
[0014]設置開關參數的值;
[0015]瀏覽器讀取指定目錄文件下開關參數的值,并根據該開關參數的值來設置宏開關的值。
[0016]優選地,所述開關參數的值設置方法具體為:通過串口創建指定的文件,并在文件中設置開關參數的值。
[0017]優選地,在執行所述瀏覽器請求網絡資源并完成數據下載的步驟之后還包括:
[0018]用戶通過遙控器輸入所述組合鍵后打開宏開關,所述組合鍵與webkit瀏覽器內核按鍵處理部分添加的處理代碼相對應。
[0019]本發明進一步公開了一種瀏覽器自動網頁資源下載裝置,該裝置包括:
[0020]數據下載模塊,用于瀏覽器請求網絡資源并完成數據下載;
[0021]網絡資源類型判斷模塊,用于獲取下載資源的絕對路徑,根據所述絕對路徑判斷網絡資源的類型;
[0022]獲取模塊,用于根據所判斷得到的網絡資源類型的絕對路徑獲取到資源的目錄和文件名;
[0023]本地目錄創建模塊,用于判斷網絡資源所在的本地目錄是否已經存在,如果不存在,則創建與網絡資源對應的本地目錄;
[0024]本地保存模塊,用于在本地創建文件名,并將下載的所述數據寫入文件。
[0025]優選地,所述瀏覽器自動網頁資源下載裝置還包括:
[0026]開關值判斷模塊,用于判斷宏開關的值,并在宏開關的值為true時,打開宏開關。
[0027]優選地,所述瀏覽器自動網頁資源下載裝置還包括:
[0028]開關參數設置模塊,用于設置開關參數的值;
[0029]開關參數讀取模塊,用于瀏覽器讀取指定目錄文件下開關參數的值,并根據該開關參數的值來設置宏開關的值。
[0030]優選地,所述開關參數的值的設置具體為:通過串口創建指定的文件,并在文件中設置開關參數的值。
[0031]優選地,所述瀏覽器自動網頁資源下載裝置還包括:
[0032]宏開關按鍵控制模塊,用于用戶通過遙控器輸入所述組合鍵后打開宏開關,所述組合鍵與webkit瀏覽器內核按鍵處理部分添加的處理代碼相對應。
[0033]相比于現有技術的缺點和不足,本發明具有以下有益效果:本發明能夠實現自動保存訪問過的網頁資源(html頁面,css文件,js文件,圖片資源,ajax請求數據),對快速復現定位電視、機頂盒應用場景的故障非常有幫助;同時,本發明是嚴格按照原始的目錄結構保存,無需手動調整即可在本地實現正常的頁面訪問和內容顯示;此外,本發明可設置開關,根據需要隨時關閉/打開下載功能,或只保存部分內容(如只保存圖片),極大地提高了使用的靈活性。
【附圖說明】
[0034]圖1是本發明瀏覽器自動網頁資源下載方法第一實施例的步驟流程圖;
[0035]圖2是本發明瀏覽器自動網頁資源下載方法第二實施例的步驟流程圖;
[0036]圖3是本發明瀏覽器自動網頁資源下載方法第三實施例的步驟流程圖;
[0037]圖4是本發明瀏覽器自動網頁資源下載方法第四實施例的步驟流程圖;
[0038]圖5是本發明瀏覽器自動網頁資源下載裝置第一實施例的結構示意圖;
[0039]圖6是本發明瀏覽器自動網頁資源下載裝置第二實施例的結構示意圖;
[0040]圖7是本發明瀏覽器自動網頁資源下載裝置第三實施例的結構示意圖;
[0041]圖8本發明瀏覽器自動網頁資源下載裝置第四實施例的結構示意圖。
【具體實施方式】
[0042]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0043]在本發明以下實施例中,以webkit瀏覽器為例,webkit瀏覽器作為一款開源和優秀的瀏覽器內核,得到了非常廣泛的應用。其中,webkit瀏覽器代碼開源,可以從源碼層次了解到本發明實現原理。一種瀏覽器自動網頁資源下載方法,參照圖1所示,所述方法包括以下步驟:
[0044]步驟S10、瀏覽器請求網絡資源并完成數據下載。
[0045]在步驟SlO中,TV開機啟動后,webkit瀏覽器進程啟動,在訪問頁面的時候,瀏覽器啟動并讀取與其相關的各項參數后,請求網絡資源并進行數據的下載。
[0046]步驟S11、獲取下載資源的絕對路徑,根據所述絕對路徑判斷網絡資源的類型。
[0047]在步驟Sll中,本發明主要保存三類數據,一類是普通的html頁面;一類是html頁面中請求的css/js/image數據;還有一類是ajax請求。一般請求的網絡資源都屬于這三類,從而保證了下載數據的完整性。下載完成后,webkit內核對這三類數據分別進行了不同的處理(對于html頁面、css/js/image和ajax請求這三類數據,webkit在下載完成后的處理位置不同),所以本發明涉及的保存這三類數據的處理方式略有不同,但原理是一樣的。判斷資源的類型之后,就開始進行數據的保存工作。
[0048]步驟S12、根據所判斷得到的網絡資源類型的絕對路徑獲取到網絡資源的目錄和文件名。
[0049]在步驟S12中,需要根據當前資源的絕對路徑(資源url)獲取到資源的目錄和文件名。
[0050]步驟S13、判斷網絡資源所在的本地目錄是否已經存在,若不存在,執行步驟S14。
[0051]步驟S14、創建與網絡資源對應的本地目錄。
[0052]在步驟S14中,由于本發明能夠保證數據下載和本地保存完成后,能夠在本地實現直接訪問。因此,資源的本地路徑和資源在服務器上的路徑必須相同。
[0053]步驟S15、在本地創建文件名,并將下載的數據寫入文件。
[0054]在步驟S15中,目錄創建完成后,接著在本地創建文件名,并將步驟SlO中瀏覽器下載的數據寫入文件。數據是要寫入文件的,寫入文件后,通過直接調用系統的文件基本操作函數來完成文件打開、寫入等操作。至此,就完成了資源的本地化保存工作。經過這樣的處理之后,保證了本地的資源路徑是嚴格按照服務器上的頁面路徑保存的,從而,頁面中