新四季網

一種ie內核瀏覽器的頁面下載控制方法和系統的製作方法

2023-08-07 11:40:31 1

專利名稱:一種ie內核瀏覽器的頁面下載控制方法和系統的製作方法
技術領域:
本申請涉及瀏覽器的技術領域,特別是涉及一種IE內核瀏覽器的頁面下載控制方法和一種IE內核瀏覽器的頁面下載控制系統。
背景技術:
瀏覽器最重要的部分是「Rendering Engine」,可大概譯為「解釋引擎」,一般習慣將之稱為「瀏覽器內核」。瀏覽器內核負責對網頁語法的解釋(如HTML、JavaScript)並渲染(顯示)網頁。所以,通常所謂的瀏覽器內核也就是對頁面進行下載、解析、執行、渲染的引擎,該引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。目前市場上流行的瀏覽器,按實現方式大體可以分為兩種第一種,瀏覽器的開發者既進行瀏覽器內核的開發,也進行瀏覽器產品的開發。 如chrome瀏覽器、firefox瀏覽器、Safari瀏覽器、Internet Explore瀏覽器等。第二種,瀏覽器的開發者,僅進行瀏覽器產品的開發,使用其他瀏覽器廠商實現的內核。將內核嵌入到自己瀏覽器內來使用。如360安全瀏覽器、遨遊瀏覽器、世界之窗瀏覽器、搜狗瀏覽器等。這種瀏覽器通常採用hternet Explorer瀏覽器內核,通常被稱之為 "IE內核瀏覽器」。目前市場上所有的IE內核瀏覽器,僅是直接使用系統提供的WebBrowser組件實現。具體的使用方法是,首先用OleCreate API (應用程式接口)創建WebBrowser組件,獲取組件創建的窗口,將其嵌入到瀏覽器的窗口內。然後調用該WebBrowser組件提供的接口,讓它訪問網址。在整個訪問過程中,由WebBrowser組件自己的代碼來進行網頁的下載、 解析、執行、渲染。外殼程序僅需接收組件返回的通知,變更相應界面內容。IE內核為了讓開發者使用起來非常簡單,所以暴露的接口非常有限,一般只提供訪問網頁、停止、刷新、後退等基本接口,僅能對頁面進行簡單的控制,如訪問某網址、刷新、 停止、後退等。對於很多內部情況,瀏覽器開發者毫不知情、無法控制。尤其是無法控制頁面下載過程,從而影響頁面下載的效率和穩定性。總之,需要本領域技術人員迫切解決的一個技術問題就是如何能夠有效控制IE 內核瀏覽器的頁面下載過程,以提高頁面下載的效率和穩定性。

發明內容
本申請所要解決的技術問題是提供一種IE內核瀏覽器的頁面下載控制方法,用以有效控制IE內核瀏覽器的頁面下載過程,提高頁面下載的效率和穩定性。相應地,本申請還提供了一種IE內核瀏覽器的頁面下載控制系統,用以保證上述方法在實際中的應用。為解決上述問題,本申請提供了一種IE內核瀏覽器的頁面下載控制方法,包括啟動IE內核瀏覽器進程,並啟動預置的下載進程;在所述IE內核瀏覽器進程中註冊通信協議,等待基於相應通信協議的頁面下載請求;當所述IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載,並在所述頁面下載過程中向IE內核瀏覽器進程返回下載狀態信肩、ο優選的是,所述的方法還包括所述IE內核瀏覽器進程依據所述下載狀態信息,對下載的頁面數據進行解析、執行、和/或渲染的操作。優選的是,所述在IE內核瀏覽器進程中註冊通信協議的步驟為,使用 IInternetSession接口的RegisterNameSpace方法,在IE內核瀏覽器進程中註冊通信協議,所述通信協議包括http協議、https協議、mailto協議和FTP協議。優選的是,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;獲取所述頁面下載請求對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。優選的是,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息, 所述頁面下載請求對應的頁面資源類型通過讀取所述擴展名信息獲取。優選的是,所述當IE內核瀏覽器進程收到IE下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;下載進程獲取所述頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。優選的是,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是,則從緩存中提取該文件;若否,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。優選的是,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟還包括在從緩存中提取文件進行下載的步驟之前,查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。優選的是,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;其中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息;下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;讀取所述頁面下載請求的擴展名信息獲取對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,獲取頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。優選的是,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;其中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息;下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是,則查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存;若否,則從緩存中提取該文件;若所述頁面下載請求相應的文件未被預先寫入緩存中,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。其中,所述根據頁面下載請求從伺服器下載相應的文件的步驟包括下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;讀取所述頁面下載請求的擴展名信息獲取對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。優選的是,所述當IE內核瀏覽器進程收到IE下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是,則查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存;若否,則從緩存中提取該文件;若所述頁面下載請求相應的文件未被預先寫入緩存中,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。其中,所述根據頁面下載請求從伺服器下載相應的文件的步驟包括下載進程獲取所述頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。優選的是,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括
當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;其中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息;下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是,則查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存;若否,則從緩存中提取該文件;若所述頁面下載請求相應的文件未被預先寫入緩存中,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。其中,所述根據頁面下載請求從伺服器下載相應的文件的步驟包括下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;讀取所述頁面下載請求的擴展名信息獲取對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,獲取頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。本申請實施例還公開了一種IE內核瀏覽器的頁面下載控制系統,包括啟動模塊,用於啟動IE內核瀏覽器進程,並啟動預置的下載進程;協議註冊模塊,用於在所述IE內核瀏覽器進程中註冊通信協議,等待基於相應通信協議的頁面下載請求;下載控制模塊,用於在所述IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載;狀態匯報模塊,用於在所述頁面下載過程中向IE內核瀏覽器進程返回下載狀態
fn息ο優選的是,所述頁面下載控制系統,還包括內核操作模塊,用於由所述IE內核瀏覽器進程依據所述下載狀態信息,對下載的頁面數據進行解析、執行、和/或渲染的操作。優選的是,所述下載控制模塊包括請求傳送子模塊,用於在IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;任務添加子模塊,用於由下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;排序子模塊,用於獲取所述頁面下載請求對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;下載執行子模塊,用於依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。優選的是,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息, 所述頁面下載請求對應的頁面資源類型通過讀取所述擴展名信息獲取。優選的是,所述下載控制模塊包括請求傳送子模塊,用於在IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;文件大小獲取子模塊,用於由下載進程獲取所述頁面下載請求對應的文件大小信息;文件大小判斷子模塊,用於判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則調用多線程下載子模塊;否則,調用單線程下載子模塊;多線程下載子模塊,用於採用多線程下載的方式執行相應頁面的下載操作;單線程下載子模塊,用於採用單線程下載的方式執行相應頁面的下載操作。優選的是,所述下載控制模塊包括請求傳送子模塊,用於在IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;緩存判斷子模塊,用於由下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是,則觸發緩存提取子模塊;若否,則觸發伺服器下載子模塊;緩存提取子模塊,用於從緩存中提取該文件;伺服器下載子模塊,用於根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。優選的是,所述下載控制模塊還包括緩存超期判斷子模塊,用於在觸發緩存提取子模塊之前,查詢該文件寫入緩存的時間是否超過預設期限,若是,則調用伺服器下載子模塊。與現有技術相比,本申請具有以下優點本申請使用IE的協議管理擴展接口,來將IE內核瀏覽器的全部下載都自己接管, 從而使嵌入IE內核瀏覽器的外殼程序,能夠自行控制瀏覽器內核的下載,並將下載後的數據送回IE內核,讓其繼續執行解析、執行、渲染的工作。由於下載行為不發生在瀏覽器進程,當下載遇到問題程序崩潰時,瀏覽器進程不會隨之崩潰,可以重新啟動一個下載進程繼續下載。因而,本申請可以有效控制IE內核瀏覽器的頁面下載過程,以提高頁面下載的效率和穩定性。再者,本申請通過採用資源排序、多線程下載和緩存讀寫的下載優化方案,能提升下載速度和頁面展現速度,充分發揮用戶的帶寬,提高資源利用率


圖1是本申請的一種IE內核瀏覽器的頁面下載控制方法實施例的步驟流程圖;圖2是是本申請的一種IE內核瀏覽器的頁面下載控制系統實施例的結構框圖。
具體實施例方式為使本申請的上述目的、特徵和優點能夠更加明顯易懂,下面結合附圖和具體實施方式
對本申請作進一步詳細的說明。本申請的核心構思在於,使嵌入IE內核瀏覽器的外殼程序,能夠自行控制瀏覽器內核的下載,並將下載後的數據送回IE內核,讓其繼續執行解析、執行、渲染的工作。參考圖1,示出了本申請的一種IE內核瀏覽器的頁面下載控制方法實施例的步驟流程圖,具體可以包括以下步驟
10
步驟101、啟動IE內核瀏覽器進程,並啟動預置的下載進程;在本申請實施例中,所述IE內核瀏覽器進程是指採用IEdnternet Explorer)瀏覽器內核的瀏覽器進程。現有技術中,瀏覽器內核負責對頁面進行下載、解析、執行、渲染, 而在本實施例中,IE瀏覽器內核僅用於完成解析、執行、渲染的操作,下載的操作由預置的下載進程完成。公知的是,進程是一個正在執行的程序,即計算機中正在運行的程序實例;其可以分配給處理器並作為一個實體由處理器執行。從用戶角度來看,瀏覽器進程可以理解為在任務管理器內所啟動的瀏覽器代表的進程。所述下載進程可以理解為IE內核瀏覽器的另外一個進程,是一個專門用於下載操作的進程。即所述下載進程專門用於下載,而不做其他操作。作為本申請實施例具體實現的一種示例,所述下載進程內部可以使用WinHTTP (WinHTTP的全稱是Microsoft Windows HTTP Services,它提供給開發者一個HTTP客戶端應用程式接口,通過這種API藉助HTTP 協議給其他的HTTP伺服器發送請求)實現一個下載器,和一個下載管理器。即所述下載進程中可以包括一個下載管理器和一些下載器,其中,所述下載管理器可以用於按照預設的下載規則控制頁面下載,例如對下載資源的請求進行排序、優化等;下載器則可以用於實現具體的下載操作,並通過下載管理器向IE內核瀏覽器進程報告下載情況,即下載狀態信息。在實際中,這個下載進程就像一個服務,啟動後隨時等待被調用。在本申請實施例中,所述IE內核瀏覽器進程啟動時,所述下載進程也會啟動,或者說,所述IE內核瀏覽器進程啟動則會觸發所述下載進程啟動,以保證頁面在瀏覽器中的正常展現。步驟102、在所述IE內核瀏覽器進程中註冊通信協議,等待基於相應通信協議的頁面下載請求;在具體實現中,所述在IE內核瀏覽器進程中註冊通信協議的步驟可以為,使用 IInternetSession接口的RegisterNameSpace方法,在IE內核瀏覽器進程中註冊通信協議,所述通信協議可以包括http協議、https協議、mailto協議和FTP協議等。胃IInternetSession ^Π ^ RegisterNameSpace ^gT^yMSI^ 格式的接口,使用這個方法在IE內核瀏覽器進程中註冊通信協議之後,則所有採用相應通信協議的頁面下載請求,都會傳送到預設的外殼程序接口,即當發生任何採用相應通信協議(如http、https協議、mailto協議、FTP協議)的頁面下載請求時,IE內核會通知或調用預設的外殼程序接口。步驟103、當所述IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載,並在所述頁面下載過程中向IE內核瀏覽器進程返回下載狀態信息。在具體實現中,當IE內核調用在通信協議註冊過程中提供的nnternetfrotocol 接口的Mart方法時,通過跨進程通信,將頁面下載請求發送到下載進程,並返回操作符E_ PENDING,通知IE內核操作正在執行中。當下載到數據後,下載進程會通知到發起下載的IE 內核瀏覽器進程,IE內核瀏覽器進程調用IE內核提供的nnternetfrotocolSink接口的相關方法,通知IE內核下載進度、下載到的數據等下載狀態信息。更具體而言,跨進程通信,是指將一個進程的請求轉到另一個進程,在本實施例中即指將IE內核瀏覽器進程的頁面下載請求轉到下載進程,並在下載過程中,實時向IE內核報告下載進度和下載數據等下載狀態信息。跨進程通信可以使用windows消息機制,並配合內核對象進行數據傳輸。例如,在IE瀏覽器進程中註冊了 http協議後,一旦有基於http 協議的頁面下載請求就會送到預設的瀏覽器外殼程序中。當IE內核調用所述外殼程序的時候,會將這個頁面下載請求的相關信息都傳遞過來,外殼程序會將這些信息打包(放到一個數據塊中,數據塊中主要包括url、refresh、cookie等),然後通過Windows系統提供的標準管道通信,將此數據塊發送到下載進程。下載過程中向瀏覽器進程發送的Windows 消息,主要是告訴瀏覽器當前下載的進度。簡而言之,跨進程通信是雙方的,首先,IE內核瀏覽器進程收到頁面下載請求後, 會通過跨進程通信,告訴下載進程那些文件需要下載。另一方面,當下載請求執行過程中, 下載進程會向IE內核瀏覽器進程發送消息,通知其下載進度、下載數據等下載狀態信息。在本申請的一種優選實施例中,所述步驟103中,當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟具體可以包括以下子步驟子步驟S11、當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;子步驟S12、下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;子步驟S13、獲取所述頁面下載請求對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;子步驟S14、依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。在實際中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息, 在這種情況下,所述頁面下載請求對應的頁面資源類型可以通過讀取所述擴展名信息獲取。本實施例主要涉及通過資源排序進行下載優化的方案,是在下載進程控制下載的過程中實現的,也就是說,當瀏覽器進程接收到IE下載請求時,觸發下載進程執行下載,在由下載器正式下載之前,下載管理器會對下載請求對應的資源進行排序。在實際應用中,可以優先下載文本類型的文件(如html、CSS、jS等類型的文件), 將多媒體類型的文件(如圖片、flash等大資源的文件)靠後下載,因為網頁的展現並不依賴於它們。下載進程中的下載管理器內會有一個下載任務列表,根據優先級,可以確定將新增加的下載任務放到這個表中的那個位置。比如,html、ess、js這些文本類型的文件都是網頁打開時必須的,所以可以放入這個表的前面。其他的圖片、flash等多媒體類型的文件則放入表尾。下載器會從表頭中不停的取任務來開始下載。這樣就實現了資源排序。在實際中,每一個頁面下載請求都對應一個下載任務,每個下載任務資源類型是一種。例如,假設在瀏覽器中訪問http://www. 360. cn/, IE內核會產生5個下載請求,請求的內容/類型/順序如下http://www. 360. cn/index, htm ;http: //www. 360. cn/360safe. ess ;
http://www. 360. cn/product. swf ;http //www. 360. cn/360safe. png ;http://www. 360. cn/frame, htm。按照與IE下載請求產生一致的順序,將上述頁面下載請求從IE內核瀏覽器進程發送到下載進程。假設現在下載進程內的下載任務列表為空。當我們收到http://WWW. 360. cn/ index, htm的頁面下載請求時,因為表是空的,則直接放入隊列內。如表1所示,當前的下載任務列表中只有一個請求。表1:
權利要求
1.一種IE內核瀏覽器的頁面下載控制方法,其特徵在於,包括 啟動IE內核瀏覽器進程,並啟動預置的下載進程;在所述IE內核瀏覽器進程中註冊通信協議,等待基於相應通信協議的頁面下載請求; 當所述IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載,並在所述頁面下載過程中向IE內核瀏覽器進程返回下載狀態信息。
2.如權利要求1所述的方法,其特徵在於,還包括所述IE內核瀏覽器進程依據所述下載狀態信息,對下載的頁面數據進行解析、執行、 和/或渲染的操作。
3.如權利要求1或2所述的方法,其特徵在於,所述在IE內核瀏覽器進程中註冊通信協議的步驟為,使用IInternetSession接口的RegisterNameSpace方法,在IE內核瀏覽器進程中註冊通信協議,所述通信協議包括http協議、https協議、mailto協議和FTP協議。
4.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程; 下載進程將所述頁面下載請求添加至預先生成的下載任務列表中; 獲取所述頁面下載請求對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。
5.如權利要求4所述的方法,其特徵在於,所述頁面下載請求中包括URL信息,所述 URL信息中包括擴展名信息,所述頁面下載請求對應的頁面資源類型通過讀取所述擴展名信息獲取。
6.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到IE下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程; 下載進程獲取所述頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。
7.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程; 下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是, 則從緩存中提取該文件;若否,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。
8.如權利要求7所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟還包括在從緩存中提取文件進行下載的步驟之前,查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。
9.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;其中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息; 下載進程將所述頁面下載請求添加至預先生成的下載任務列表中; 讀取所述頁面下載請求的擴展名信息獲取對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,獲取頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。
10.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;其中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息;下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是, 則查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存;若否,則從緩存中提取該文件;若所述頁面下載請求相應的文件未被預先寫入緩存中,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。其中,所述根據頁面下載請求從伺服器下載相應的文件的步驟包括 下載進程將所述頁面下載請求添加至預先生成的下載任務列表中; 讀取所述頁面下載請求的擴展名信息獲取對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。
11.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到IE下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程; 下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是, 則查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存;若否,則從緩存中提取該文件;若所述頁面下載請求相應的文件未被預先寫入緩存中,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。其中,所述根據頁面下載請求從伺服器下載相應的文件的步驟包括 下載進程獲取所述頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。
12.如權利要求1或2所述的方法,其特徵在於,所述當IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載的步驟包括當IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;其中,所述頁面下載請求中包括URL信息,所述URL信息中包括擴展名信息;下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是, 則查詢該文件寫入緩存的時間是否超過預設期限,若是,則根據頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存;若否,則從緩存中提取該文件;若所述頁面下載請求相應的文件未被預先寫入緩存中,則根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。其中,所述根據頁面下載請求從伺服器下載相應的文件的步驟包括 下載進程將所述頁面下載請求添加至預先生成的下載任務列表中; 讀取所述頁面下載請求的擴展名信息獲取對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;依次處理所述下載任務列表中的頁面下載請求,獲取頁面下載請求對應的文件大小信息;判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則採用多線程下載的方式執行相應頁面的下載操作,否則,採用單線程下載的方式執行相應頁面的下載操作。
13.—種IE內核瀏覽器的頁面下載控制系統,其特徵在於,包括 啟動模塊,用於啟動IE內核瀏覽器進程,並啟動預置的下載進程;協議註冊模塊,用於在所述IE內核瀏覽器進程中註冊通信協議,等待基於相應通信協議的頁面下載請求;下載控制模塊,用於在所述IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載;狀態匯報模塊,用於在所述頁面下載過程中向IE內核瀏覽器進程返回下載狀態信息。
14.如權利要求13所述的系統,其特徵在於,還包括內核操作模塊,用於由所述IE內核瀏覽器進程依據所述下載狀態信息,對下載的頁面數據進行解析、執行、和/或渲染的操作。
15.如權利要求13或14所述的系統,其特徵在於,所述下載控制模塊包括請求傳送子模塊,用於在IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;任務添加子模塊,用於由下載進程將所述頁面下載請求添加至預先生成的下載任務列表中;排序子模塊,用於獲取所述頁面下載請求對應的頁面資源類型,在所述下載任務列表中,按照所述頁面資源類型對頁面下載請求進行排序;下載執行子模塊,用於依次處理所述下載任務列表中的頁面下載請求,執行相應的頁面下載操作。
16.如權利要求15所述的系統,其特徵在於,所述頁面下載請求中包括URL信息,所述 URL信息中包括擴展名信息,所述頁面下載請求對應的頁面資源類型通過讀取所述擴展名信息獲取。
17.如權利要求13或14所述的系統,其特徵在於,所述下載控制模塊包括請求傳送子模塊,用於在IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;文件大小獲取子模塊,用於由下載進程獲取所述頁面下載請求對應的文件大小信息;文件大小判斷子模塊,用於判斷所述文件大小信息是否超過預設的文件大小閾值,若是,則調用多線程下載子模塊;否則,調用單線程下載子模塊;多線程下載子模塊,用於採用多線程下載的方式執行相應頁面的下載操作; 單線程下載子模塊,用於採用單線程下載的方式執行相應頁面的下載操作。
18.如權利要求13或14所述的系統,其特徵在於,所述下載控制模塊包括請求傳送子模塊,用於在IE內核瀏覽器進程收到頁面下載請求時,將所述頁面下載請求發送給下載進程;緩存判斷子模塊,用於由下載進程根據所述頁面下載請求判斷所請求的文件是否已被預先寫入緩存中,若是,則觸發緩存提取子模塊;若否,則觸發伺服器下載子模塊; 緩存提取子模塊,用於從緩存中提取該文件;伺服器下載子模塊,用於根據所述頁面下載請求從伺服器下載相應的文件,並將該文件寫入緩存。
19.如權利要求18所述的系統,其特徵在於,所述下載控制模塊還包括緩存超期判斷子模塊,用於在觸發緩存提取子模塊之前,查詢該文件寫入緩存的時間是否超過預設期限,若是,則調用伺服器下載子模塊。
全文摘要
本發明提供了一種IE內核瀏覽器的頁面下載控制方法和系統,其中,所述方法包括啟動IE內核瀏覽器進程,並啟動預置的下載進程;在所述IE內核瀏覽器進程中註冊通信協議,等待基於相應通信協議的頁面下載請求;當所述IE內核瀏覽器進程收到頁面下載請求時,觸發所述下載進程按照預設的下載規則控制頁面下載,並在所述頁面下載過程中向IE內核瀏覽器進程返回下載狀態信息。本發明可以有效控制IE內核瀏覽器的頁面下載過程,提高頁面下載的效率和穩定性。
文檔編號G06F17/30GK102368248SQ20111028906
公開日2012年3月7日 申請日期2011年9月26日 優先權日2011年9月26日
發明者劉鴻威, 唐曦 申請人:奇智軟體(北京)有限公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀