新四季網

一種瀏覽器的製作方法

2023-06-10 17:47:01

專利名稱:一種瀏覽器的製作方法
技術領域:
本發明涉及瀏覽器的技術領域,特別是涉及一種瀏覽器。
背景技術:
瀏覽器最重要的部分是「Rendering Engine」,可大概譯為「解釋引擎」,一般習慣將之稱為「瀏覽器內核」。瀏覽器內核負責對網頁語法的解釋(如HTML、JavaScript)並渲染(顯示)網頁。所以,通常所謂的瀏覽器內核也就是對頁面進行下載、解析、執行、渲染的引擎,該引擎決定了瀏覽器如何顯示網頁的內容以及頁面的格式信息。 目前比較常見的瀏覽器內核有微軟的IE瀏覽器使用的IE內核(Trident內核),Firefox瀏覽器使用的Gecko內核,蘋果的Safari瀏覽器和Google的Chrome瀏覽器使用的Webkit內核,以及,Opera瀏覽器採用的Presto內核。這些常見的瀏覽器可以按實現方式做如下劃分第一種,瀏覽器的開發者既進行瀏覽器內核的開發,也進行瀏覽器產品的開發。如chrome瀏覽器、firefox瀏覽器、Safari瀏覽器、InternetExplore瀏覽器等。第二種,瀏覽器的開發者,僅進行瀏覽器產品的開發,使用其他瀏覽器廠商實現的內核。將內核嵌入到自己瀏覽器內來使用。如360安全瀏覽器、遨遊瀏覽器、世界之窗瀏覽器、搜狗瀏覽器等。這種瀏覽器通常採用Internet Explorer瀏覽器內核,即採用IE內核的瀏覽器。當用戶通過瀏覽器發起一個瀏覽網頁的請求時,瀏覽器通過內核從目標網站下載網頁的內容,然後分析網頁內容,執行腳本,計算排版,最後輸出到顯示器顯示給用戶。每個瀏覽器具有一個內核,不管用戶通過一個瀏覽器進程打開多少個網頁,瀏覽器都使用同一個內核解釋執行。但是,這種單內核瀏覽器有很大的局限性,因為網頁往往是按照某個內核支持的網絡標準製作的,對於某個特定內核支持的網絡標準,其他內核可能無法很好地支持(甚至無法支持)。例如,用戶使用Firefox瀏覽器瀏覽網頁,Firefox的內核能夠很好地支持W3C標準,因此使用該瀏覽器可以瀏覽按照W3C標準製作的網頁。但如果用戶想要瀏覽招商銀行網頁使用網絡銀行,Firefox瀏覽器就無法滿足這個用戶需求。因為招商銀行網站的網絡銀行功能需要ActiveX插件功能,而該功能只有IE內核的瀏覽器才能支持,這樣用戶在使用Firefox瀏覽器的情況下就無法使用招商銀行的網絡銀行功能了。再者,普通使用IE內核的瀏覽器包括採用IE6 (Internetexplorer 6)內核的瀏覽器和採用IE8 (Internetexplorer 8)內核的瀏覽器。具體而言,Internetexplorer 6於2001年10月發布,距今已10年有餘。但採用IE6內核的瀏覽器至今仍然佔據我國主流瀏覽器市場50%以上份額,由於環境變化、年代久遠等問題,採用IE6內核的瀏覽器在面對當下網際網路中大量使用腳本、圖片、Flash等素材的環境中性能表現低下,無法使用戶獲得流暢體驗。Internetexplorer 8於2008年發布以來得到長足應用,如今採用IE8內核的瀏覽器已經逐漸取代採用IE6內核的瀏覽器的市場份額,成為用戶主流的網頁瀏覽器。WindowsVista以上的系統甚至直接取消了對IE8以下版本的支持,但基於我國網際網路較為複雜的構成,顯然用戶會面臨諸多問題。其中較為典型的就是自2001年以來,大量個人、團隊基於IE6不嚴謹的標準規範構建了大量只能在採用IE6內核的瀏覽器下正常運行的網站、服務。這樣一來,就直接導致了用戶在享受新一代瀏覽器全新技術的同時,無法正常實現自己的工作、娛樂等需求。總之,需要本領域技術人員迫切解決的技術問題就是如何充分利用各種瀏覽器內核的優點,避免各種瀏覽器內核的缺點對加載網頁的影響,以及,如何解決在瀏覽器包括至少兩種瀏覽器內核,並且其中一種瀏覽器內核為IE內核的情況下,IE6內核瀏覽器和IE8內核瀏覽器的兼容性和適配性問題,從而使用戶獲得更好的網頁瀏覽體驗。

發明內容
鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上 述問題的一種瀏覽器。依據本發明,提供了一種瀏覽器,其中所述瀏覽器包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核,所述IE內核至少包括IE6內核和新型IE內核兩個版本所述瀏覽器包括請求接收模塊,適於接收加載網頁的請求信息,所述請求信息中包括統一資源定位符URL信息;適配關係獲取模塊,適於按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係;內核選擇模塊,適於根據所述適配關係選擇對應的瀏覽器內核,瀏覽器進程,適於在所選擇的瀏覽器內核為IE內核時,依據所述統一資源定位符URL信息判斷當前適配的IE內核版本;IE內核重定向模組,適於在當前適配的IE內核版本為IE6內核時,重定向至相應位置加載預置的IE6內核文件;以及,在當前適配的IE內核版本為新型IE內核時,重定向至相應位置加載預置的新型IE內核文件;內存寫入模塊,適於將所述IE6內核文件和新型IE內核文件寫入內存。可選地,所述新型IE內核為IE8內核,所述新型IE內核文件為IE8內核文件;或者,所述新型IE內核為IE8以上版本的IE內核,所述新型IE內核文件為IE8以上版本的IE內核文件。可選地,所述IE6內核文件和IE8內核文件包括IE6內核的動態連結庫DLL和IE8內核的動態連結庫DLL ;IE6內核的數據文件和IE8內核的數據文件;IE6內核的語言包文件和IE8內核的語言包文件;以及,IE6內核的註冊表配置文件和IE8內核的註冊表配置文件。可選地,所述預置的IE6內核文件和新型IE內核文件存儲於客戶端中,具體通過以下子步驟實現從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫 DLL ;
經調試分析生成IE6內核的數據文件和語言包文件,以及,IE8內核的數據文件和IE8內核的語言包文件;將所述IE6內核的動態連結庫DLL、數據文件和語言包文件,以及,IE8內核的動態連結庫DLL、數據文件和語言包文件安裝至客戶端的指定位置;生成IE6內核和IE8內核的註冊表配置文件,並導入所述客戶端的註冊表中;其中,所述從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫DLL的子步驟包括重載所有與IE6內核加載相關的系統應用程式接口 API ;通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ;
排除系統底層的動態連結庫DLL,提取IE6內核的動態連結庫DLL ;以及,重載所有與IE8內核加載相關的系統應用程式接口 API ;通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ;排除系統底層的動態連結庫DLL,提取IE8內核的動態連結庫DLL。可選地,所述瀏覽器進程包括第一判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息為區域網地址時,判定當前適配的IE內核版本號為IE6內核;第二判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息包含IP位址時,判定當前適配的IE內核版本號為IE6內核;第三判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息包含在IE8內核兼容域名列表中時,判定當前適配的IE內核版本號為IE8內核。可選地,所述瀏覽器進程還包括第四判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息包含在新型IE內核兼容域名列表中時,判定當前適配的IE內核版本號為對應的新型IE內核。可選地,所述預設的IE內核重定向模組包括第一註冊表操作子模塊,適於在監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE6內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE6內核文件所導入的客戶端指定位置的信息;第一 DLL操作子模塊,適於在監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ;第一相關文件操作子模塊,適於在監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件;第一 COM對象創建子模塊,適於在監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述第一 DLL操作子模塊;第一DLL內核句柄操作子模塊,適於當監視到瀏覽器進程訪問DLL內核句柄時,調用所述第一 DLL操作子模塊;第二註冊表操作子模塊,適於在監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE8內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE8內核文件所導入的客戶端指定位置的信息;第二 DLL操作子模塊,適於在監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ;第二相關文件操作子模塊,適於在監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件;
第二 COM對象創建子模塊,適於在監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述第二 DLL操作子模塊;第二DLL內核句柄操作子模塊,適於當監視到瀏覽器進程訪問DLL內核句柄時,調用所述第二 DLL操作子模塊。可選地,所述預設的IE內核重定向模組為動態連結庫文件Tridentcore. dll。可選地,所述瀏覽器還包括網頁加載模塊,適於採用當前適配的瀏覽器內核加載所述請求的網頁。可選地,所述適配關係獲取模塊包括第一獲取子模塊,適於按照預置規則獲知與所述請求加載的網頁適配的所述瀏覽器內核;所述內核選擇模塊包括第一選擇子模塊,適於選擇與所述請求加載的網頁適配的瀏覽器內核;和/ 或,所述適配關係獲取模塊包括第二獲取子模塊,適於按照預置規則獲知與所述請求加載的網頁不適配的瀏覽器內核;所述內核選擇模塊包括第二選擇子模塊,適於選擇所述不適配的內核之外的瀏覽器內核加載所述請求加載的網頁;和/ 或,所述適配關係獲取模塊包括第三獲取子模塊,適於按照預置規則獲知所述請求加載的網頁與當前默認的瀏覽器內核之間的適配關係;所述內核選擇模塊包括第三選擇子模塊,適於如果所述請求加載的網頁與當前默認的瀏覽器內核適配,則選擇所述當前默認的瀏覽器內核加載;否則,選擇當前默認內核之外的瀏覽器內核。可選地,所述預置規則包括預置的特定適配規則和/或通用適配規則,其中,所述預置的特定適配規則包括網頁與內核之間的適配關係,所述通用適配規則包括為用戶選擇平均加載速度最快的瀏覽器內核或為用戶選擇對網絡標準適配的瀏覽器內核。與現有技術相比,本發明具有以下優點根據一種瀏覽器,通過在同一瀏覽器中集成至少兩種內核,基於每種內核有其自身的優缺點,因此,這種多內核瀏覽器相對於單內核瀏覽器而言,在一定程度上,增強了瀏覽器加載網頁的成功率。而且,由於本發明實施例的多內核瀏覽器,能夠主動根據預置規則為用戶訪問的網頁選擇適配的內核,而不是完全由用戶自己盲目選擇加載網頁的內核,因此在一定程度上避免了用戶自己選擇的盲目性(因為多數用戶並不是很清楚哪個網頁適配哪個內核),更進一步提高了加載網頁的成功率。由此可見,本發明實施例能夠對瀏覽器中的各內核進行智能選擇,充分利用各個內核的優點,儘量避免了各個內核的缺點對用戶加載網頁的影響,進而地達到了瀏覽器內多個內核之間智能的進行優勢互補,在一定程度上提高了通過瀏覽器瀏覽網頁的效果。
本發明的一種優選實施例在於提供一種雙核瀏覽器,並且其中一種瀏覽器內核為IE內核。針對IE內核多版本切換的問題,所述雙核瀏覽器可以通過URL信息判斷當前適配的IE內核版本,並針對適配的IE內核版本分別調用預設的IE內核重定向模組,重定向至相應位置加載預置的相應版本的IE內核文件。這種雙核瀏覽器的實現可以在不影響用戶IE使用的前提下,對適合IE6顯示的頁面加載IE6內核,適合IE8顯示的頁面加載IE8內核,以達到複雜環境下用戶瀏覽最完整的兼容性和適配性。並且,這種雙核瀏覽器充分結合了 IE6對銀行/大型門戶網站的普遍支持、IE8的安全、渲染、速度方面提升的優點,實現了一種IE6內核與IE8內核最完整的兼容方式。再者,通過智能判定自動切換內核,無須重新啟動瀏覽器,無須更換作業系統、或升級IE、或安裝多款軟體,使用方便。此外,本發明的擴展性好,可以支持IE其它版本內核自動切換。


通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中圖I示出了根據本發明一個實施例的一種基於多內核瀏覽器的不同版本IE內核切換的方法實施例I的步驟流程圖;圖2示出了根據本發明一個實施例的一種基於多內核瀏覽器的不同版本IE內核切換的方法實施例2的步驟流程圖;圖3示出了根據本發明一個實施例的一種基於多內核瀏覽器的不同版本IE內核切換的系統實施例I的結構框圖;圖4示出了根據本發明一個實施例的一種基於多內核瀏覽器的不同版本IE內核切換的系統實施例2的結構框圖;圖5示出了根據本發明一個實施例的一種IE內核重定向模組的結構框圖;圖6示出了根據本發明一個實施例的一種瀏覽器的結構框圖。
具體實施方式
下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。本發明的核心構思在於,通過在同一瀏覽器中集成至少兩個內核,使瀏覽器能夠主動根據預置規則為用戶訪問的網頁選擇適配的內核,而不是完全由用戶自己盲目選擇加載網頁的內核,並在不影響用戶IE使用的前提下,對適合IE6顯示的頁面加載IE6內核,適合IE8顯示的頁面加載IE8內核,以達到複雜環境下用戶瀏覽最完整的兼容性和適配性。參考圖1,示出了本發明的一種基於多內核瀏覽器的不同版本IE內核切換的方法實施例I的步驟流程圖,具體可以包括以下步驟步驟101,接收加載網頁的請求信息,所述請求信息中包括URL信息; 作為一種示例,所述加載網頁的請求信息可以為用戶發出的加載某網頁的指示,例如,用戶可以通過點擊某連結來打開一個網頁,或者在地址欄輸入網址來打開一個網頁。當用戶點擊某連結的指示時,就相當於接收到了用戶加載網頁的請求信息;同樣,當在地址欄輸入某網址並點擊確定按鈕或按下回車鍵時,也相當於接收到了用戶加載網頁的請求信肩、OURL (Uniform Resoure Locator統一資源定位器)是Wffff網頁的地址,URL使用數字和字母按一定順序排列以確定一個地址。URL的第一個部分http: //表示的是要訪問的文件的類型。在網上,這幾乎總是使用http (意思是超文本轉換協議,hypertext transferprotocol,因為它是用來轉換網頁的協議。)URL從左到右由下述部分組成Internet資源類型(scheme):指出WWW客戶程序用來C作的工具。々[!「http://,,表示Wffff伺服器,「ftp://」表示FTP伺服器,「gopher://」表示Gopher伺服器,而「new: 」表示Newgroup新聞組。伺服器地址(host):指出WWW網頁所在的伺服器域名。埠(port):有時(並非總是這樣),對某些資源的訪問來說,需給出相應的伺服器提供埠號。路徑(path):指明伺服器上某資源的位置(其格式與DOS系統中的格式一樣,通常有目錄/子目錄/文件名這樣結構組成)。與埠一樣,路徑並非總是需要的。URL 地址格式排列為scheme: //host:port/path,例如 http: //www. maoRoo. com/bbs就是一個典型的URL地址。瀏覽器首先看到http (超文本傳送協議),便知道處理的是HTML連結。接下來的www. maoRoo. com是站點地址,最後是目錄/bbs。步驟102,按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係;步驟103,根據所述適配關係選擇對應的瀏覽器內核;在本發明的一種優選實施例中,所述按照預置規則獲知所述請求加載的網頁與所述瀏覽器內核之間的適配關係的步驟可以為,按照預置規則獲知與所述請求加載的網頁適配的所述瀏覽器內核;在這種情況下,所述根據適配關係選擇對應的瀏覽器內核的步驟可以為,選擇與所述請求加載的網頁適配的瀏覽器內核。
在本發明的另一種優選實施例中,所述按照預置規則獲知所述請求加載的網頁與所述瀏覽器內核之間的適配關係的步驟可以為,按照預置規則獲知與所述請求加載的網頁不適配的瀏覽器內核;所述根據適配關係選擇對應的瀏覽器內核的步驟可以為,選擇所述不適配的內核之外的瀏覽器內核加載所述請求加載的網頁。例如,瀏覽器有內核A、B、C,獲知請求加載的網頁與內核A不適配,則在內核B、C中任選一個內核來加載該網頁即可];或者,按照預置規則獲知與所述請求加載的網頁適配的瀏覽器內核,選擇所述適配的瀏覽器內核加載所述請求加載的網頁(例如,瀏覽器有內核A、B、C,獲知請求加載的網頁與內核A不適配,而且獲知C內核與網頁適配,於是選擇C內核來加載該網頁即可。在本發明的又一種優選實施例中,所述按照預置規則獲知所述請求加載的網頁與所述瀏覽器內核之間的適配關係的步驟可以為,按照預置規則獲知所述請求加載的網頁與當前默認的瀏覽器內核之間的適配關係;所述裉據適配關係選擇對應的瀏覽器內核的步驟可以為,如果所述請求加載的網頁與當前默認的瀏覽器內核適配,則選擇所述當前默認的瀏覽器內核加載;否則,選擇當前默認內核之外的瀏覽器內核。
由於多內核瀏覽器可能會具有一個當前默認的內核(這個默認的內核可以是用戶設置的,也可以是瀏覽器自行設置的),即在不做任何操作的情況下,瀏覽器使用該當前默認的內核加載網頁。在該實施例中,按照預置規則獲知的是所述請求加載的網頁與當前默認的瀏覽器內核之間的適配關係,即,可以判斷所述請求加載的網頁與當前默認的瀏覽器內核是否適配,如果適配,則選擇所述當前默認的瀏覽器內核加載所述請求加載的網頁;否則,選擇當前默認內核之外的瀏覽器內核加載所述請求加載的網頁。、關於獲知所述請求加載的網頁與所述瀏覽器內核之間的適配關係的具體方法可以有多種,例如,可以根據預置的特定適配規則和/或通用適配規則,獲知所述請求加載的網頁與所述瀏覽器內核之間的適配關係;其中,所述預置的特定適配規則包括網頁與內核之間的適配關係,所述通用適配規則包括為用戶選擇平均加載速度最快的瀏覽器內核或為用戶選擇對網絡標準適配的瀏覽器內核。當然,上述方法僅僅用作示例,本領域技術人員依據實際情況採用任一種獲知所述請求加載的網頁與瀏覽器內核之間的適配關係的方法都是可行的,例如,根據於瀏覽器根據接收到的所述請求信息向對應的伺服器發送關於加載所述網頁的新請求信息,月艮務器會針對所述新請求信息返迴響應信息,在響應信息中會攜帶一些網頁的頁面內容等信息,因此在這種方法下,還可以根據從伺服器返回的針對所述新請求信息的響應信息獲得的內容以及預置規則,重新獲知與所述請求加載的網頁適配的瀏覽器內核等方式,本發明對此無需加以限制。步驟104,當所選擇的瀏覽器內核為IE內核時,瀏覽器進程依據所述URL信息,判斷當前適配的IE內核版本;在本發明實施例中,所述IE內核指採用IE(Internet Explorer)瀏覽器內核,IE6內核即指採用IE6 (Internet Explorer 6)的瀏覽器內核,新型IE內核包括IE8內核以及IE8以上版本的IE內核,IE8內核即指採用IE8 (Internet Explorer 8)的瀏覽器內核,IE8以上版本的IE內核即指採用IE9、IElO等可能出現的更高版本的瀏覽器內核。為使本領域技術人員更好地理解本發明,在本說明書中,將IE8內核作為新型IE內核的一種示例進行說明。公知的是,進程是一個正在執行的程序,即計算機中正在運行的程序實例;其可以分配給處理器並作為一個實體由處理器執行。從用戶角度來看,瀏覽器進程可以理解為在任務管理器內所啟動的瀏覽器代表的進程。在本發明的一種優選實施例中,所述步驟104具體可以包括如下子步驟子步驟S121、若當前用戶提交的統一資源定位符URL信息為區域網地址,則判定當前適配的IE內核版本號為IE6內核;子步驟S122、若當前用戶提交的統一資源定位符URL信息包含IP位址,則判定當前適配的IE內核版本號為IE6內核;子步驟S123、若當前用戶提交的統一資源定位符URL信息包含在IE8內核兼容域名列表中,則判定當前適配的IE內核版本號為IE8內核。即每個頁面開始連接前,瀏覽器進程會判斷訪問域名的信息,若為區域網地址或 為純IP位址的HTTP請求,則開啟IE6模式;根據實際中IE8內核的兼容域名列表,判定開啟IE8模式。在具體實現中,對於其它情況,可以使用系統自帶的其它IE內核。需要說明的是,上述子步驟S121—S123僅用於描述瀏覽器進程依據URL信息判斷當前適配的IE內核版本的幾種處理方式,並不受所描述的動作順序的限制,本領域技術人員可以理解的是,某些步驟可以採用其他順序或者同時進行。在實際中,若新型IE內核為IE8以上版本的IE內核,則所述步驟104還可以包括如下子步驟若當前用戶提交的統一資源定位符URL信息包含在新型IE內核兼容域名列表中,則判定當前適配的IE內核版本號為對應的新型IE內核。在具體實現中,可以在客戶端預置IE6內核文件和新型IE內核文件,在本發明的一種優選實施例中,所述新型IE內核文件可以為IE8內核文件,則所述IE6內核文件和IE8內核文件可以包括IE6內核的動態連結庫DLL和IE8內核的動態連結庫DLL ;IE6內核的數據文件和IE8內核的數據文件;IE6內核的語言包文件和IE8內核的語言包文件;以及,IE6內核的註冊表配置文件和IE8內核的註冊表配置文件。其中,動態連結庫DLL,是Dynamic Link Library的縮寫形式,DLL是一個包含可由多個程序同時使用的代碼和數據的庫,DLL不是可執行文件。動態連結提供了一種方法,使進程可以調用不屬於其可執行代碼的函數。函數的可執行代碼位於一個DLL中,該DLL包含一個或多個已被編譯、連結並與使用它們的進程分開存儲的函數。DLL還有助於共享數據和資源。多個應用程式可同時訪問內存中單個DLL副本的內容。通過使用DLL,程序可以實現模塊化,由相對獨立的組件組成。在本實施例中,可以通過如下子步驟將預置的IE6內核文件和新型IE內核文件存儲於客戶端中子步驟S01、從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫DLL ;子步驟S02、經調試分析生成IE6內核的數據文件和語言包文件,以及,IE8內核的數據文件和IE8內核的語言包文件;子步驟S03、將所述IE6內核的動態連結庫DLL、數據文件和語言包文件,以及,IE8內核的動態連結庫DLL、數據文件和語言包文件安裝至客戶端的指定位置;例如,將所述IE6內核的動態連結庫DLL、數據文件和語言包文件,以及,IE8內核的動態連結庫DLL、數據文件和語言包文件安裝至客戶端的某個目錄下。在具體實現中,上述IE6內核的相關文件,以及,IE8內核的相關文件可以分別存儲在客戶端的不同目錄下;或者,也可以存儲至同一目錄,但針對各文件分別標註其版本號標識,本發明對此不作限制。子步驟S04、生成IE6內核和IE8內核的註冊表配置文件,並導入所述客戶端的註冊表中。基於IE內核的瀏覽器,通過靜態、動態方式加載的內核DLL非常多,這些DLL可能與作業系統底層相關,可能還需要引用一些註冊表項、數據文件、或者語言包文件,需要通過調試逐步分析生成。 更為優選的是,所述子步驟SOl可以進一步包括以下子步驟子步驟S01-11、重載所有與IE6內核加載相關的系統應用程式接口 API ;子步驟S01-12、通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ;例如,通過監視LoadLibrary接口(或其它模塊查看器),獲得瀏覽器加載的所有DLL。子步驟S01-13、排除系統底層的動態連結庫DLL,提取IE6內核的動態連結庫DLL。以及,子步驟S01-21、重載所有與IE8內核加載相關的系統應用程式接口 API ;子步驟S01-22、通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ;子步驟S01-23、排除系統底層的動態連結庫DLL,提取IE8內核的動態連結庫DLL。需要說明的是,上述子步驟僅示例性地描述將預置的IE6內核文件和新型IE內核文件存儲於客戶端中的處理過程,並不受所描述的動作順序的限制,本領域技術人員可以理解的是,某些步驟可以採用其他順序或者同時進行。步驟105、若當前適配的IE內核版本號為IE6內核,則瀏覽器進程調用預設的IE內核重定向模組,重定向至相應位置加載預置的IE6內核文件;重定向,字面即為對某A文件的操作直接轉移到B文件。比如讀、寫、設置長度或文件結尾指針等屬性、甚至是刪除操作。在本發明的一種優先實施例中,所述預設的IE內核重定向模組可以通過以下子步驟執行重定向至相應位置加載預置的IE6內核文件的操作子步驟S11、當監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE6內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE6內核文件所導入的客戶端指定位置的信息;子步驟S12、當監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ;子步驟S13、當監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件;子步驟S14、當監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述子步驟S12 ;其中,COM對象(The Component Object Model組件對象模型)是遵循COM規範編寫、以Win32動態連結庫(DLL)或可執行文件(EXE)形式發布的可執行二進位代碼,能夠滿足對組件架構的所有需求。遵循COM的規範標準,組件與應用、組件與組件之間可以互操作,極其方便地建立可伸縮的應用系統。COM對象是一個使用COM規格的可以重複使用的軟體組件。使用COM規格可以確保COM對象很好的工作,並且很容易的結合到你的應用程式中。事實上,COM基本相當於一個黑匣子,這個黑匣子能為你的應用程式完成很多的工作。 COM對象一般用動態連接庫(DLL)實現。和普通的DLL—樣,COM對象暴露一些方法,應用程式能夠呼叫它,以便完成任何支持的操作。子步驟S15、當監視到瀏覽器進程訪問DLL內核句柄時,調用所述子步驟S12。其中,句柄是windows用來標誌應用程式中建立的或是使用的唯一整數,windows使用了大量的句柄來標誌很多對象。但是,句柄不是一個指針,程序不能利用它句柄來直接閱讀文件中的信息。需要說明的是,上述子步驟S11-S15僅用於描述預設的IE內核重定向模組執行重定向操作的幾種方式,並不受所描述的動作順序的限制,本領域技術人員可以理解的是,某些步驟可以採用其他順序或者同時進行。步驟106、若當前適配的IE內核版本為新型IE內核,則瀏覽器進程調用預設的IE內核重定向模組,重定向至相應位置加載預置的新型IE內核文件。在本發明的一種優先實施例中,所述預設的IE內核重定向模組可以通過以下子步驟執行重定向至相應位置加載預置的IE8內核文件的操作子步驟S21、當監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE8內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE8內核文件所導入的客戶端指定位置的信息;子步驟S22、當監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ;子步驟S23、當監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件;子步驟S24、當監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述子步驟S22 ;子步驟S25、當監視到瀏覽器進程訪問DLL內核句柄時,調用所述子步驟S22。需要說明的是,上述子步驟S21-S25僅用於描述預設的IE內核重定向模組執行重定向操作的幾種方式,並不受所描述的動作順序的限制,本領域技術人員可以理解的是,某些步驟可以採用其他順序或者同時進行。具體而言,在本發明實施例中,所述IE內核文件的重定向主要是指在瀏覽器創建時,轉向程序指定路徑加載文件,主要包括UIE內核重定向。使瀏覽器加載指定版本內核對象,重載實現系統API,具體可以米用CoCreateInstance :創建文檔及框架組件CoGetClassObject :創建腳本引擎及腳本對象
CoCreateInstanceEx :創建文字系統等擴展接口2、DLL重定向。一些功能模塊可能以DLL方式實現,也需要重載系統API以重定向,具體可以採用LoadLibrary/LoadLibrary :實現 DLL 加載FreeLibrary :實現 DLL 釋放3、註冊表重定向。使瀏覽器加載/保存指定版本的配置數據,重載實現系統API,具體可以採用RegOpenKeyEx :打開註冊表鍵值以讀寫當然,上述方法僅僅用作示例,在具體實現中,本領域技術人員採用預設的IE內核重定向模組應用其它內核重定向的方法加載對應版本的IE內核文件均是可行的,本發明對此無需加以限制。作為本發明實施例具體應用的一種示例,所述預設的IE內核重定向模組可以為動態連結庫文件Tridentcore. dll。在本發明實施例中,還可以包括如下步驟採用當前適配的瀏覽器內核加載所述請求的網頁。由於按照預置規則獲知的是與所述請求加載的網頁適配的所述瀏覽器內核,因此,可以直接調用與所述請求加載的網頁適配的瀏覽器內核加載所述請求加載的網頁。本發明實施例所述瀏覽器為多內核瀏覽器,即瀏覽器中至少包含兩種內核。由於每種內核對應一份代碼,因此多內核瀏覽器在瀏覽器中實現多份代碼,在選擇某個內核加載網頁時,調用相應的代碼即可。參考圖2,示出了本申請的一種IE6內核與新型IE內核的切換方法實施例2的步驟流程圖,其中所述瀏覽器包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核,所述IE內核至少包括IE6內核和新型IE內核兩個版本,本實施例具體可以包括以下步驟步驟201、接收加載網頁的請求信息,所述請求信息中包括URL信息;步驟202、按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係;步驟203、根據所述適配關係選擇對應的瀏覽器內核;步驟204、當所選擇的瀏覽器內核為IE內核時,在瀏覽器進程啟動時,將所述IE6內核文件和IE8內核文件寫入內存;並且,瀏覽器進程依據所述URL信息,判斷當前適配的IE內核版本;步驟205、若當前適配的IE內核版本為IE6內核,則瀏覽器進程調用預設的IE內核重定向模組,重定向至客戶端內存中的相應位置加載預置的IE6內核文件;
步驟206、若當前適配的IE內核版本為新型IE內核,則瀏覽器進程調用預設的IE內核重定向模組,重定向至相客戶端內存中的應位置加載預置的新型IE內核文件。為使本領域技術人員更好地理解本發明,以下通過一個完整示例說明本發明的IE6內核與IE8內核的切換過程。步驟Ajf IE6內核的主要模塊文件和IE8內核的主要模塊文件,安裝到客戶端的指定目錄中;其中,所述IE6內核的主要模塊文件和IE8內核的主要模塊文件包括IE6內核的動態連結庫DLL和IE8內核的動態連結庫DLL ;IE6內核的數據文件和IE8內核的數據文件;IE6內核的語言包文件和IE8內核的語言包文件等。步驟B、將IE6內核的註冊表配置文件和IE8內核的註冊表配置文件,導入客戶端的註冊表中; 步驟C、瀏覽器啟動時,執行以下子步驟子步驟Cl、監視註冊表、DLL、內存、網頁(用戶輸入或點擊的URL)的訪問;子步驟C2、加載IE6內核的主要模塊文件和IE8內核的主要模塊文件到內存中;步驟D、當瀏覽器接收到用戶提交的URL時,按照如下方式計算適合該URL的IE內核版本號如果URL為區域網地址,則返回IE內核版本號為IE6 (使用IE6內核);如果URL包含IP位址,則返回IE內核版本號為IE6 (使用IE6內核);如果URL在IE8的兼容域名列表中,則返回IE內核版本號為IE8(使用IE8內核);其它情況返回O (使用系統自有的IE內核)。步驟E、瀏覽器開始加載內核,創建頁面時,會讀寫註冊表、加載DLL及數據文件、創建COM對象,具體涉及以下操作I、當監視到瀏覽器訪問註冊表時,若訪問IE配置項,則引導其讀寫步驟B中導入的對應項;若查詢IE內核模塊路徑,則返回步驟C中的內存指定位置;2、當監視到瀏覽器訪問DLL時,根據步驟D中計算的IE內核版本號,定位到內存中對應的內核文件目錄,到該內核目錄中查找相同名稱的DLL,若找到,則引導瀏覽器進程加載對應的內核文件;否則,引導瀏覽器加載系統的預設模塊;3、當監視到瀏覽器訪問數據文件、語言包文件時,根據步驟D中計算的IE內核版本號,到內存中對應的內核文件目錄中查找相應文件;4、當監視到瀏覽器創建COM對象時,從步驟B的註冊表中,查找實現該COM對象的DLL,執行以上步驟2 ;5、當監視到瀏覽器訪問DLL內核句柄時,執行以上步驟2。在本例中,步驟A、B可以在安裝過程中完成,每次瀏覽器進程啟動時執行C項,步驟D、E在每次瀏覽頁面時均執行。需要說明的是,對於方法實施例,為了簡單描述,故將其都表述為一系列的動作組合,但是本領域技術人員應該知悉,本發明並不受所描述的動作順序的限制,因為依據本發明,某些步驟可以採用其他順序或者同時進行。其次,本領域技術人員也應該知悉,說明書中所描述的實施例均屬於優選實施例,所涉及的動作和模塊並不一定是本發明所必須的。參考圖3,示出了本發明的一種基於多內核瀏覽器的不同版本IE內核切換的系統實施例I的結構框圖,其中所述瀏覽器包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核,所述IE內核至少包括IE6內核和新型IE內核兩個版本所述的裝置具體可以包括如下模塊請求接收模塊301,適於接收加載網頁的請求信息,所述請求信息中包括統一資源定位符URL信息;適配關係獲取模塊302,適於按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係;內核選擇模塊303,適於根據所述適配關係選擇對應的瀏覽器內核,
瀏覽器進程304,適於在所選擇的瀏覽器內核為IE內核時,依據所述統一資源定位符URL信息判斷當前適配的IE內核版本;IE內核重定向模組305,適於在當前適配的IE內核版本為IE6內核時,重定向至相應位置加載預置的IE6內核文件;以及,在當前適配的IE內核版本為新型IE內核時,重定向至相應位置加載預置的新型IE內核文件。在具體實現中,所述新型IE內核可以為IE8內核,所述新型IE內核文件可以為IE8內核文件;或者,所述新型IE內核可以為IE8以上版本的IE內核,所述新型IE內核文件可以為IE8以上版本的IE內核文件。在本發明的一種優選實施例中,所述IE6內核文件和IE8內核文件可以包括如下內容IE6內核的動態連結庫DLL和IE8內核的動態連結庫DLL ;IE6內核的數據文件和IE8內核的數據文件;IE6內核的語言包文件和IE8內核的語言包文件;以及,IE6內核的註冊表配置文件和IE8內核的註冊表配置文件。作為本發明具體應用的一種示例,所述預置的IE6內核文件和新型IE內核文件存儲於客戶端中,具體通過以下方式實現從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫 DLL ;經調試分析生成IE6內核的數據文件和語言包文件,以及,IE8內核的數據文件和IE8內核的語言包文件;將所述IE6內核的動態連結庫DLL、數據文件和語言包文件,以及,IE8內核的動態連結庫DLL、數據文件和語言包文件安裝至客戶端的指定位置;生成IE6內核和IE8內核的註冊表配置文件,並導入所述客戶端的註冊表中;其中,所述從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫DLL的子步驟進一步包括重載所有與IE6內核加載相關的系統應用程式接口 API ;通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ;排除系統底層的動態連結庫DLL,提取IE6內核的動態連結庫DLL ;以及,重載所有與IE8內核加載相關的系統應用程式接口 API ;通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ;
排除系統底層的動態連結庫DLL,提取IE8內核的動態連結庫DLL。參考圖4,示出了本發明的一種基於多內核瀏覽器的不同版本IE內核切換的系統實施例2的結構框圖,其中所述瀏覽器包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核,所述IE內核至少包括IE6內核和新型IE內核兩個版本所述的裝置具體可以包括如下模塊請求接收模塊401,適於接收加載網頁的請求信息,所述請求信息中包括統一資源定位符URL信息;適配關係獲取模塊402,適於按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係;內核選擇模塊403,適於根據所述適配關係選擇對應的瀏覽器內核, 內存寫入模塊404,適於將所述IE6內核文件和新型IE內核文件寫入內存;瀏覽器進程405,適於在所選擇的瀏覽器內核為IE內核時,依據所述統一資源定位符URL信息判斷當前適配的IE內核版本;在本發明的一種優選實施例中,所述瀏覽器進程405可以包括以下子模塊第一判斷子模塊4051,適於在當前用戶提交的統一資源定位符URL信息為區域網地址時,判定當前適配的IE內核版本號為IE6內核;第二判斷子模塊4052,適於在當前用戶提交的統一資源定位符URL信息包含IP位址時,判定當前適配的IE內核版本號為IE6內核;第三判斷子模塊4053,適於在當前用戶提交的統一資源定位符URL信息包含在IE8內核兼容域名列表中時,判定當前適配的IE內核版本號為IE8內核。更為優選的是,所述瀏覽器進程還可以包括以下子模塊第四判斷子模塊4054,適於在當前用戶提交的統一資源定位符URL信息包含在新型IE內核兼容域名列表中時,判定當前適配的IE內核版本號為對應的新型IE內核。IE內核重定向模組406,適於在當前適配的IE內核版本為IE6內核時,重定向至相應位置加載預置的IE6內核文件;以及,在當前適配的IE內核版本為新型IE內核時,重定向至相應位置加載預置的新型IE內核文件。參考圖5,示出了在本發明的一種優選實施例中,所述IE內核重定向模組406包括的子模塊第一註冊表操作子模塊4061,適於在監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE6內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE6內核文件所導入的客戶端指定位置的信息;第一 DLL操作子模塊4062,適於在監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ;第一相關文件操作子模塊4063,適於在監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件;
第一 COM對象創建子模塊4064,適於在監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述第一 DLL操作子模塊4062 ;第一 DLL內核句柄操作子模塊4065,適於當監視到瀏覽器進程訪問DLL內核句柄時,調用所述第一 DLL操作子模塊4062 ;第二註冊表操作子模塊4066,適於在監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE8內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE8內核文件所導入的客戶端指定位置的信息;
第二 DLL操作子模塊4067,適於在監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ;第二相關文件操作子模塊4068,適於在監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件;第二 COM對象創建子模塊4069,適於在監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述第二 DLL操作子模塊4067 ;第二 DLL內核句柄操作子模塊4070,適於當監視到瀏覽器進程訪問DLL內核句柄時,調用所述第二 DLL操作子模塊4067。作為本發明實施例具體應用的一種示例,所述預設的IE內核重定向模組可以為動態連結庫文件Tridentcore. dll。在本發明實施例中,還可以包括網頁加載模塊,適於採用當前適配的瀏覽器內核加載所述請求的網頁。在本發明的一種優選實施例中,所述適配關係獲取模塊402可以包括如下子模塊第一獲取子模塊,適於按照預置規則獲知與所述請求加載的網頁適配的所述瀏覽器內核;所述內核選擇模塊403可以包括如下子模塊第一選擇子模塊,適於選擇與所述請求加載的網頁適配的瀏覽器內核;和/ 或,所述適配關係獲取模塊402可以包括如下子模塊第二獲取子模塊,適於按照預置規則獲知與所述請求加載的網頁不適配的瀏覽器內核;所述內核選擇模塊403可以包括如下子模塊第二選擇子模塊,適於選擇所述不適配的內核之外的瀏覽器內核加載所述請求加載的網頁;和/ 或,
所述適配關係獲取模塊402可以包括如下子模塊第三獲取子模塊,適於按照預置規則獲知所述請求加載的網頁與當前默認的瀏覽器內核之間的適配關係;所述內核選擇模塊403可以包括如下子模塊第三選擇子模塊,適於如果所述請求加載的網頁與當前默認的瀏覽器內核適配,則選擇所述當前默認的瀏覽器內核加載;否則,選擇當前默認內核之外的瀏覽器內核。作為一種示例,所述預置規則可以包括預置的特定適配規則和/或通用適配規貝U,其中,所述預置的特定適配規則包括網頁與內核之間的適配關係,所述通用適配規則包括為用戶選擇平均加載速度最快的瀏覽器內核或為用戶選擇對網絡標準適配的瀏覽器內核。對於裝置實施例而言,由於其與前述方法實施例基本相似,所以描述的比較簡單, 相關之處參見方法實施例的部分說明即可。參考圖6,示出了本發明的一種瀏覽器的結構框圖,其中所述瀏覽器50包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核51,另一種瀏覽器內核為除IE內核之外的其它內核52,所述IE內核至少包括IE6內核和新型IE內核兩個版本所述瀏覽器包括請求接收模塊501,適於接收加載網頁的請求信息,所述請求信息中包括統一資源定位符URL信息;適配關係獲取模塊502,適於按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係;內核選擇模塊503,適於根據所述適配關係選擇對應的瀏覽器內核,瀏覽器進程504,適於在所選擇的瀏覽器內核為IE內核時,依據所述統一資源定位符URL信息判斷當前適配的IE內核版本;IE內核重定向模組505,適於在當前適配的IE內核版本為IE6內核時,重定向至相應位置加載預置的IE6內核文件;以及,在當前適配的IE內核版本為新型IE內核時,重定向至相應位置加載預置的新型IE內核文件。對於上述實施例而言,由於其與前述方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。本說明書中的各個實施例均採用遞進的方式描述,每個實施例重點說明的都是與其他實施例的不同之處,各個實施例之間相同相似的部分互相參見即可。在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式
的權利要求書由此明確地併入該具體實施方式
,其中每個權利要求本身都作為本發明的單獨實施例。本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例 中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的終端安全維護設備中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。
權利要求
1.一種瀏覽器,其中所述瀏覽器包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核,所述IE內核至少包括IE6內核和新型IE內核兩個版本 所述瀏覽器包括 請求接收模塊,適於接收加載網頁的請求信息,所述請求信息中包括統一資源定位符URL /[目息; 適配關係獲取模塊,適於按照預置規則獲知所述請求加載的網頁與瀏覽器內核之間的適配關係; 內核選擇模塊,適於根據所述適配關係選擇對應的瀏覽器內核, 瀏覽器進程,適於在所選擇的瀏覽器內核為IE內核時,依據所述統一資源定位符URL信息判斷當前適配的IE內核版本; IE內核重定向模組,適於在當前適配的IE內核版本為IE6內核時,重定向至相應位置加載預置的IE6內核文件;以及,在當前適配的IE內核版本為新型IE內核時,重定向至相應位置加載預置的新型IE內核文件; 內存寫入模塊,適於將所述IE6內核文件和新型IE內核文件寫入內存。
2.如權利要求I所述的瀏覽器,所述新型IE內核為IE8內核,所述新型IE內核文件為IE8內核文件; 或者,所述新型IE內核為IE8以上版本的IE內核,所述新型IE內核文件為IE8以上版本的IE內核文件。
3.如權利要求2所述的瀏覽器,所述IE6內核文件和IE8內核文件包括 IE6內核的動態連結庫DLL和IE8內核的動態連結庫DLL ; IE6內核的數據文件和IE8內核的數據文件; IE6內核的語言包文件和IE8內核的語言包文件; 以及,IE6內核的註冊表配置文件和IE8內核的註冊表配置文件。
4.如權利要求3所述的瀏覽器,所述預置的IE6內核文件和新型IE內核文件存儲於客戶端中,具體通過以下子步驟實現 從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫DLL ; 經調試分析生成IE6內核的數據文件和語言包文件,以及,IE8內核的數據文件和IE8內核的語言包文件; 將所述IE6內核的動態連結庫DLL、數據文件和語言包文件,以及,IE8內核的動態連結庫DLL、數據文件和語言包文件安裝至客戶端的指定位置; 生成IE6內核和IE8內核的註冊表配置文件,並導入所述客戶端的註冊表中; 其中,所述從IE6內核提取IE6內核的動態連結庫DLL,從IE8內核提取IE8內核的動態連結庫DLL的子步驟包括 重載所有與IE6內核加載相關的系統應用程式接口 API ; 通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ; 排除系統底層的動態連結庫DLL,提取IE6內核的動態連結庫DLL ; 以及, 重載所有與IE8內核加載相關的系統應用程式接口 API ;通過監視動態連結庫DLL查看接口,獲得瀏覽器加載的所有動態連結庫DLL ; 排除系統底層的動態連結庫DLL,提取IE8內核的動態連結庫DLL。
5.如權利要求1-4中任一項權利要求所述的瀏覽器,所述瀏覽器進程包括 第一判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息為區域網地址時,判定當前適配的IE內核版本號為IE6內核; 第二判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息包含IP位址時,判定當前適配的IE內核版本號為IE6內核; 第三判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息包含在IE8內核兼容域名列表中時,判定當前適配的IE內核版本號為IE8內核。
6.如權利要求5所述的瀏覽器,所述瀏覽器進程還包括 第四判斷子模塊,適於在當前用戶提交的統一資源定位符URL信息包含在新型IE內核兼容域名列表中時,判定當前適配的IE內核版本號為對應的新型IE內核。
7.如權利要求3或4所述的瀏覽器,所述預設的IE內核重定向模組包括 第一註冊表操作子模塊,適於在監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE6內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE6內核文件所導入的客戶端指定位置的信息; 第一 DLL操作子模塊,適於在監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ; 第一相關文件操作子模塊,適於在監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE6內核的版本號,定位到對應的IE6內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件; 第一 COM對象創建子模塊,適於在監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述第一 DLL操作子模塊;第一DLL內核句柄操作子模塊,適於當監視到瀏覽器進程訪問DLL內核句柄時,調用所述第一 DLL操作子模塊; 第二註冊表操作子模塊,適於在監視到瀏覽器進程訪問註冊表時,若訪問IE配置項,則引導瀏覽器進程讀寫IE8內核的註冊表配置文件;若查詢IE內核文件的路徑,則返回IE8內核文件所導入的客戶端指定位置的信息; 第二 DLL操作子模塊,適於在監視到瀏覽器進程訪問動態連結庫DLL時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的動態連結庫DLL,若找到,則引導瀏覽器進程加載該動態連結庫DLL ; 第二相關文件操作子模塊,適於在監視到瀏覽器進程訪問數據文件、語言包文件時,根據當前適配的IE8內核的版本號,定位到對應的IE8內核文件所導入的客戶端指定位置,併到該位置查找相同名稱的數據文件和語言包文件,若找到,則引導瀏覽器進程加載該數據文件和語言包文件; 第二 COM對象創建子模塊,適於在監視到瀏覽器進程創建COM對象時,從所述客戶端的註冊表中,查找實現該COM對象的動態連結庫DLL,然後調用所述第二 DLL操作子模塊;第二DLL內核句柄操作子模塊,適於當監視到瀏覽器進程訪問DLL內核句柄時,調用所述第二 DLL操作子模塊。
8.如權利要求I所述的瀏覽器,所述預設的IE內核重定向模組為動態連結庫文件Tridentcore. dll。
9.如權利要求I所述的瀏覽器,還包括 網頁加載模塊,適於採用當前適配的瀏覽器內核加載所述請求的網頁。
10.如權利要求I所述的瀏覽器,所述適配關係獲取模塊包括 第一獲取子模塊,適於按照預置規則獲知與所述請求加載的網頁適配的所述瀏覽器內核; 所述內核選擇模塊包括 第一選擇子模塊,適於選擇與所述請求加載的網頁適配的瀏覽器內核; 和/或, 所述適配關係獲取模塊包括 第二獲取子模塊,適於按照預置規則獲知與所述請求加載的網頁不適配的瀏覽器內核; 所述內核選擇模塊包括 第二選擇子模塊,適於選擇所述不適配的內核之外的瀏覽器內核加載所述請求加載的網頁; 和/或, 所述適配關係獲取模塊包括 第三獲取子模塊,適於按照預置規則獲知所述請求加載的網頁與當前默認的瀏覽器內核之間的適配關係; 所述內核選擇模塊包括 第三選擇子模塊,適於如果所述請求加載的網頁與當前默認的瀏覽器內核適配,則選擇所述當前默認的瀏覽器內核加載;否則,選擇當前默認內核之外的瀏覽器內核。
11.如權利要求I或10所述的瀏覽器,所述預置規則包括預置的特定適配規則和/或通用適配規則,其中,所述預置的特定適配規則包括網頁與內核之間的適配關係,所述通用適配規則包括為用戶選擇平均加載速度最快的瀏覽器內核或為用戶選擇對網絡標準適配的瀏覽器內核。
全文摘要
本發明公開了一種瀏覽器,所述瀏覽器包括至少兩種瀏覽器內核,其中一種瀏覽器內核為IE內核,所述IE內核至少包括IE6內核和新型IE內核兩個版本所述瀏覽器包括請求接收模塊;適配關係獲取模塊;內核選擇模塊;IE內核重定向模組;內存寫入模塊。本發明可以解決在瀏覽器包括至少兩種內核,並且其中一種為IE內核的情況下,IE6內核瀏覽器和IE8內核瀏覽器的兼容性和適配性問題。
文檔編號G06F9/44GK102968448SQ20121041374
公開日2013年3月13日 申請日期2012年10月25日 優先權日2012年10月25日
發明者聞功嶺, 任寰 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀