新四季網

一種加載插件的方法、瀏覽器和伺服器的製造方法

2023-06-12 16:27:31 2

一種加載插件的方法、瀏覽器和伺服器的製造方法
【專利摘要】本發明公開了一種加載插件的方法、瀏覽器和伺服器,其中所述方法包括當瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;將所述第一插件對象的參數信息發送至伺服器側;接收所述伺服器側返回的第二插件對象的參數信息;依據所述第二插件對象的參數信息創建第二插件對象;建立所述代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載。本發明可以避免用戶下載和安裝網頁中的ActiveX插件,提高了頁面加載的效率。
【專利說明】—種加載插件的方法、瀏覽器和伺服器
【技術領域】
[0001]本發明涉及插件加載的【技術領域】,特別是涉及一種加載插件的方法、一種瀏覽器以及一種伺服器。
【背景技術】
[0002]ActiveX是一個開放的集成平臺,為開發人員、用戶和Web生產商提供了一個快速而簡便的在Internet和Intranet創建程序集成和內容的方法。使用ActiveX,可輕鬆方便的在Web頁中插入多媒體效果、交互式對象、以及複雜程序,創建用戶體驗相當的高質量多媒體⑶-ROM。基於ActiveX的ActiveX插件也具有越來越廣泛的應用。ActiveX插件技術是國際上通用的基於Windows平臺的軟體技術,許多軟體均採用此種方式開發,例如Flash動畫播放插件、Microsoft MediaPlayer插件、Adobe PDF閱讀插件等。
[0003]ActiveX插件叫做OLE插件或OCX插件,它是一些軟體組件或對象,可以將其插入到WEB網頁或其他應用程式中。例如,當用戶瀏覽到特定的網頁時,瀏覽器會提示用戶下載並安裝ActiveX插件。
[0004]在現有技術中,雖然瀏覽器側一般都內置有一些基本功能的ActiveX插件,但很多網頁也自帶ActiveX插件,其需要用戶下載並安裝網頁自帶的ActiveX插件方能實現網頁的某種功能。例如,瀏覽器內置插件Qvod插件,其可以支持一些網頁元素的播放,但網頁中規定使用百度影音插件來播放一些網頁資源,因此,即使瀏覽器內置的Qvod插件支持該網頁中視頻文件的播放,用戶也只能另外下載和安裝百度影音插件進行視頻播放,造成資源的浪費。並且網頁ActiveX插件下載和安裝的過程可能造成網頁的阻滯,使得嵌有ActiveX腳本程序的頁面的加載速度降低,甚至導致瀏覽器瞬間失去響應。

【發明內容】

[0005]鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上述問題的一種加載插件的方法和相應的一種瀏覽器,以及一種伺服器。
[0006]依據本發明的一個方面,提供了一種加載插件的方法,包括:
[0007]當瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;
[0008]將所述第一插件對象的參數信息發送至伺服器側;
[0009]接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得;
[0010]依據所述第二插件對象的參數信息創建第二插件對象;
[0011]建立所述代理對象與所述第二插件對象的關聯;
[0012]採用所述代理對象配置所述第二插件對象運行的腳本;
[0013]採用所述第二插件對象根據所述腳本進行所述網頁的加載。[0014]可選地,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。
[0015]可選地,所述方法還包括:
[0016]瀏覽器側接收伺服器側返回的提示信息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成;
[0017]依據所述提示信息,創建第一插件對象;
[0018]採用所述第一插件對象進行所述網頁的加載。
[0019]可選地,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述採用所述代理對象配置所述第二插件對象運行的腳本的步驟包括:
[0020]在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數;
[0021]採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0022]可選地,所述代理對象通過調度接口 IDispatch接口將所述第一功能函數替換為第二插件對象中對應的第二功能函數。
[0023]可選地,在瀏覽器側加載網頁的過程中鉤掛hook到cogetclassobject函數時,即攔截到第一插件對象的創建需求。
[0024]根據本發明的另一方面,提供了一種加載插件的方法,包括:
[0025]接收瀏覽器側發送的第一插件對象的參數信息;
[0026]依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
[0027]可選地,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;
[0028]所述依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側的步驟,具體包括:
[0029]依據所述第一文件的URL,判斷在伺服器側預置的映射表中是否存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL ;[0030]若是,則依據所述第二文件的URL獲取第二插件對象的標識;
[0031]將所述第二插件對象的標識以及第二文件的URL返回瀏覽器側。
[0032]可選地,所述方法還包括:
[0033]在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時,返回提示信息,由所述瀏覽器側依據所述提示信息,創建第一插件對象,並採用所述第一插件對象進行所述網頁的加載。
[0034]根據本發明的另一方面,提供了一種瀏覽器,包括:
[0035]代理對象創建模塊,適於在瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;
[0036]第一插件對象的參數信息發送模塊,適於將所述第一插件對象的參數信息發送至伺服器側;
[0037]第二插件對象的參數信息接收模塊,適於接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得;
[0038]第二插件對象創建模塊,適於依據所述第二插件對象的參數信息創建第二插件對象;
[0039]關聯建立模塊,適於建立所述代理對象與所述第二插件對象的關聯;
[0040]腳本配置模塊,適於採用所述代理對象配置所述第二插件對象運行的腳本;
[0041]第一頁面加載模塊,適於採用所述第二插件對象根據所述腳本進行所述網頁的加載。
[0042]可選地,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。
[0043]可選地,所述瀏覽器還包括:
[0044]提示信息接收模塊,適於接收伺服器側返回的提示信息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成;
[0045]第一插件對象創建模塊,適於依據所述提示信息,創建第一插件對象;
[0046]第二頁面加載模塊,適於採用所述第一插件對象進行所述網頁的加載。
[0047]可選地,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述腳本配置模塊還適於:
[0048]在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數;
[0049]採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0050]可選地,所述代理對象通過調度接口 IDispatch接口將所述第一功能函數替換為第二插件對象中對應的第二功能函數。[0051]可選地,在瀏覽器側加載網頁的過程中鉤掛hook到cogetclassobject函數時,即攔截到第一插件對象的創建需求。
[0052]根據本發明的另一方面,提供了一種伺服器,包括:
[0053]第一插件對象的參數信息接收模塊,適於接收瀏覽器側發送的第一插件對象的參數信息;
[0054]第二插件對象的參數信息返回模塊,適於依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
[0055]可選地,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;
[0056]所述第二插件對象的參數信息返回模塊還適於:
[0057]依據所述第一文件的URL,判斷在伺服器側預置的映射表中是否存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL ;
[0058]若是,則依據所述第二文件的URL獲取第二插件對象的標識;
[0059]將所述第二插件對象的標識以及第二文件的URL返回瀏覽器側。
[0060]可選地,所述伺服器還包括:
[0061]提示信息返回模塊,適於在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時,返回提示信息,由所述瀏覽器側依據所述提示信息,創建第一插件對象,並採用所述第一插件對象進行所述網頁的加載。
[0062]在本發明中,當瀏覽器側的頁面進程加載到網頁中的ActiveX插件時,可以將其替換為瀏覽器內置的ActiveX插件,使得瀏覽器自帶的ActiveX插件能夠對當前頁面中其支持的文件格式的網絡元素的接管和打開,避免用戶下載和安裝網頁中的ActiveX插件,提高了頁面加載的效率。
[0063]上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的【具體實施方式】。
【專利附圖】

【附圖說明】
[0064]通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0065]圖1示出了根據本發明一個實施例的一種加載插件的方法實施例一的步驟流程圖;[0066]圖2示出了根據本發明一個實施例的一種加載插件的方法實施例二的步驟流程圖;
[0067]圖3示出了根據本發明一個實施例的一種瀏覽器實施例的結構框圖;
[0068]圖4示出了根據本發明一個實施例的一種伺服器實施例的結構框圖。
【具體實施方式】
[0069]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
[0070]參照圖1,示出了根據本發明一個實施例的一種加載插件的方法實施例一的步驟流程圖,從實施例從瀏覽器側進行說明,具體可以包括以下步驟:
[0071]步驟101,當瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;
[0072]應用於本實施例,所述第一插件對象可以為網頁中規定使用的ActiveX插件,如百度影音、QVOD (快播)等。所述瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求,具體可以為,在瀏覽器側加載網頁的過程中鉤掛hook到CoGetClassObject函數時,即攔截到第一插件對象的創建需求。
[0073]具體而言,ActiveX插件是一種 COM (Component Object Model,組件對象模型)組件,在COM庫中,有三個API (Application Programming Interface,應用程式編程接口)函數可用於對象的創建,它們分別是CoGetClassObject、CoCreateInstance和CoCreateInstanceEx,通常情況下,客戶程序調用其中之一完成對象的創建,並返回對象的初始化接口指針,COM庫與類廠(類廠也是一個接口或COM對象,其職責是創造組件的對象並返回給客戶程序一個接口的指針,每個組件都必須有一個與之相關的類廠)也通過這三個函數進行交互。
[0074]CoGetClassObject聲明可以表不如下:
[0075]STDAPI CoGetClassObject(REFCLSID rclsid,
[0076]DWORD dwClsContext,
[0077]C0SERVERINF0*pServerInfo,
[0078]REFIID riid,
[0079]LPV0ID*ppv);
[0080]其中,rclsid用來唯一標識一個對象的CLSID(128位),通過rclsid可以知道需要創建的對象(需要用它來創建指定對象);dwClsContext為組件類別,可使用CLSCTX枚舉器中預定義的值;pServerInfo是一個指針,它指向被實例化的類對象所在的機器(如果是本地機器,參數為NULL);riid為引用接口標識符,用來與對象通信;ppv作為輸出參數存放返回的類廠接口指針。
[0081]當客戶程序要調用COM庫函數CoCreateInstance以得到類廠接口指針時,CoCreateInstance 調用函數 CoGetClassObject,在函數 CoGetClassObject 中使用參數CLSID查找註冊表,找到COM組件DLL的路徑並加載,調用所述DLL中實現的函數DllGetClassObject, DllGetClassObject函數創建類廠,並逆序返回類廠接口指針給CoGetClassObject,依據所述類廠接口指針創建對象。而在本發明實施例中,當瀏覽器側的頁面進程需要創建對象時,對CoGetClassObject函數進行hook (hook是Windows中提供的一種用以替換DOS下「中斷」的系統機制,中文譯為「掛鈎」或「鉤子」),從而阻止對象的創建。
[0082]在本發明實施例中,對於hook到瀏覽器側中的CoGetClassObject函數而知道需要創建對象,從而啟動代理對象(Prox對象)的創建,使用Prox對象替換CoGetClassObject函數實際要創建的對象。其中,Prox對象包括一系列接口,包括IUnknown指針將會調用的很多標準接口,例如IOleObject、IViewObject等,然後在調用IClassFactory (類廠)的CreateInstance (創建函數)時,將所創建的代理對象prox返回給頁面進程的IUnknown指針,由此代理對象創建完成。
[0083]在實際中,在創建插件對象的同時,可以從瀏覽器側的頁面進程中獲取所述第一插件對象的參數信息,從而知道具體需要創建的插件。在本發明實施例的一種優選示例中,所述第一插件對象的參數信息可以包括第一插件對象的標識以及第一文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,可以包括文件名,文件大小和文件哈希值。例如,當第一插件對象為百度影音(BaiduPlayer)插件時,其參數信息可以為:
[0084]〈object classid="clsid:02E2D748-67F8-48B4-8AB4_0A085374BB99〃
[0085]width="500"height="400"id="BaiduPlayer"name="BaiduPlayer">
[0086]<PARAM NAME=,URL,VALUE=,
[0087]bdhd://216615163 | 5E5F4843ED84AEA1812335413084E718 | 宮鎖心玉
[0088]02.rmvb' >
[0089]
[0090]〈/object〉
[0091]其中,object為HTML語言中對COM組件的統一使用方式;classid為HTML語言中對WEB插件的調用語句;clsid為BaiduPlayer插件類型ID值;width/height為在網頁中顯示的該插件寬與高度;id/name/為BaiduPlayer插件的標識;URL為播放文件地址(即第一文件的URL),該URL值格式為bdhd://文件大小I文件hash值|文件名(bdhd為BaiduPlayer生成URL地址的協議);AutoPlay為是否自動播放,O:不自動播放1:自動播放,默認是不自動播放。
[0092]步驟102,將所述第一插件對象的參數信息發送至伺服器側;
[0093]步驟103,接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得;
[0094]在本發明實施例中,當瀏覽器側的頁面進程加載到網頁中的ActiveX插件時,可以將其替換為瀏覽器側內置的ActiveX插件(第二插件對象),使得瀏覽器側內置的ActiveX插件能夠對當前頁面中其支持的文件格式的網絡元素的接管和打開,避免用戶下載和安裝網頁中的ActiveX插件。
[0095]具體而言,瀏覽器側將所述第一插件對象的標識以及第一文件的URL等信息上傳到伺服器側,由伺服器側進行判斷是否可以進行插件的替換操作。在具體實現中,伺服器側的數據資源庫中保存有各種數據資源文件(包括文件名、文件大小和文件哈希值),伺服器側可以分別將數據資源庫中的各數據資源文件按照瀏覽器側內置的第二插件對象的協議生成各數據資源文件的URL (即第二文件的URL),並生成各數據資源文件與對應的URL的映射關係保存在映射表中。當伺服器側接收到瀏覽器側上傳的第一插件對象的標識以及第一文件的URL時,獲得該第一插件對象的第一文件的URL中的文件名、文件大小和文件哈希值的文件信息,在映射表中查找與所述第一文件的URL中的文件名,文件大小和文件哈希值相同的文件名,文件大小和文件哈希值,若查找成功,則確定可以進行第二插件對象的替換,並獲得對應的第二文件的URL (例如,與百度影音的播放地址對應的第二文件的URL可以為:
[0096]ed2k://|file|Lucky%20Girl%20-%20Just%20My%20Luck%20French%20Dvdrip%20Xvid-Justmyluck-Songo52%20Par%20Idonkey%20ffs.avi|729925632|73CF7916F3ABD182035C82A69CCA29F9 | /),伺服器側將該對應的第二文件的URL和第二插件對象的標識(第二文件的URL和第二插件對象組成第二插件對象的參數信息)返回至瀏覽器側。
[0097]另外,當伺服器側在映射表中沒有查找與到所述第一文件的URL中的文件名,文件大小和文件哈希值相同的文件名,文件大小和文件哈希值時,則確定不存在可替換的第二插件對象,伺服器側返回的提示信息至瀏覽器側,瀏覽器側依據該提示信息,對攔截的CoGetClassObject函數放行,從而創建第一插件對象,採用所述第一插件對象與代理對象進行通信,實現網頁的加載。
[0098]步驟104,依據所述第二插件對象的參數信息創建第二插件對象;
[0099]具體而言,當瀏覽器側接收到伺服器側返回的第二插件對象的參數信息後,將所述第二插件對象的參數信息替換頁面進程中的第一插件對象的參數信息,瀏覽器側再次加載頁面進程,在CoGetClassObject函數中獲得類廠接口指針後,調用類廠中的創建函數創建第二插件對象,其中,所述第二插件對象為真正實現插件功能的對象。
[0100]步驟105,建立所述代理對象與所述第二插件對象的關聯;
[0101]在本發明實施例中,可以在代理對象和第二插件對象中分別創建與對象關聯的通信窗口,以建立所述代理對象與所述第二插件對象的關聯,使得代理對象和第二插件對象可以通過通信窗口進行通信,通過代理對象和第二插件對象的通信窗口,實現代理對象調用第二插件對象和/或第二插件對象調用代理對象,從而實現插件所要實現的功能。
[0102]步驟106,採用所述代理對象配置所述第二插件對象運行的腳本;
[0103]在具體實現中,代理對象與第二插件對象的通信包括進程間的腳本執行過程,通過代理對象來配置第二插件對象運行的腳本。在本發明的一種優選實施例中,所述第一插件對象的參數信息還可以包括第一功能函數,所述第二插件對象運行的腳本可以包括第二插件對象的第二功能函數,所述步驟106可以包括如下子步驟:
[0104]子步驟S21,在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數;
[0105]子步驟S22,採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0106]具體而言,所述代理對象可以通過調度接口 IDispatch接口將所述第一功能函數替換為第二插件對象中對應的第二功能函數。在具體實現中,瀏覽器側的頁面進程在加載網頁時,當解析到第一插件對象中腳本時,將該腳本中待執行的方法的名稱調到代理對象的IDispatch接口中,IDispatch接口為調度接口,用於調用不支持虛函數表的語言程序中的函數,IDispatch 接 口具有 GetIDsOfNames 函數和 Invoke 函數,其中 GetIDsOfNames 函數提供的是利用方法的名稱返回其調度ID的方法,Invoke函數提供的是利用方法的調度ID執行方法的指令。由於第一插件對象並沒有真正創建,而第二插件對象是真正的插件的對象,所以代理對象通過通信窗口調用第二插件對象的IDispatch接口,調用第二插件對象的GetIDsOfNames函數提供的方法,讓第二插件對象獲取待執行的方法的調度ID,並根據所述調度ID獲取相應的功能函數(第二功能函數),然後第二插件對象通過通信窗口將該調度ID和第二功能函數返回給代理對象,代理對象將所述第二功能函數替換第一功能函數(例如:第一插件對象中的Play函數,在Prox對象被調用時,實際被映射到第二插件對象的對應Play函數,其名稱也可以不是play,但是功能是完全一致的),然後,按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0107]步驟107,採用所述第二插件對象根據所述腳本進行所述網頁的加載。
[0108]具體而言,代理對象完成第二插件對象的腳本的配置後,將該腳本反饋給頁面進程,頁面進程採用所述第二插件對象執行Invoke (ID)的指令,從而執行腳本中待執行的方法,完成頁面的加載。
[0109]在本發明實施例中,可以實現對於網頁中的任一 ActiveX插件的替換操作,從而實現了瀏覽器側中所有的數據資源都可以找到一個合適的或者統一的ActiveX插件進行加載,而不需要用戶進行手動的安裝,大大地提高了瀏覽器側對於網頁中數據資源加載的效率。
[0110]參照圖2,示出了根據本發明一個實施例的一種加載插件的方法實施例二的步驟流程圖,從實施例從伺服器側進行說明,具體可以包括以下步驟:
[0111]步驟201,接收瀏覽器側發送的第一插件對象的參數信息;
[0112]步驟202,依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側;
[0113]其中,所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
[0114]在本發明的一種優選實施例中,所述第一插件對象的參數信息可以包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息可以包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,可以包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,可以包括文件名,文件大小和文件哈希值;所述步驟202可以包括如下子步驟:
[0115]依據所述第一文件的URL,判斷在伺服器側預置的映射表中是否存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL ;
[0116]若是,則依據所述第二文件的URL獲取第二插件對象的標識;
[0117]將所述第二插件對象的標識以及第二文件的URL返回瀏覽器側。[0118]另外,當在伺服器側預置的映射表中不存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL時,則判定不存在可替換的第二插件對象,此時,伺服器側返回提示信息,由所述瀏覽器側依據所述提示信息,創建第一插件對象,並採用所述第一插件對象進行所述網頁的加載。
[0119]對於圖2的方法實施例而言,由於其與圖1的方法實施例基本相似,所以描述的比較簡單,相關之處參見圖1的方法實施例的部分說明即可
[0120]參照圖3,示出了根據本發明一個實施例的一種瀏覽器實施例的結構框圖,具體可以包括如下模塊:
[0121]代理對象創建模塊301,適於在瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;
[0122]其中,在瀏覽器側加載網頁的過程中鉤掛hook到cogetclassobject函數時,即攔截到第一插件對象的創建需求。
[0123]第一插件對象的參數信息發送模塊302,適於將所述第一插件對象的參數信息發送至伺服器側;
[0124]第二插件對象的參數信息接收模塊303,適於接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得;
[0125]第二插件對象創建模塊304,適於依據所述第二插件對象的參數信息創建第二插件對象;
[0126]關聯建立模塊305,適於建立所述代理對象與所述第二插件對象的關聯;
[0127]腳本配置模塊306,適於採用所述代理對象配置所述第二插件對象運行的腳本;
[0128]第一頁面加載模塊307,適於採用所述第二插件對象根據所述腳本進行所述網頁的加載。
[0129]在本發明的一種優選實施例中,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。
[0130]在本發明實施例中,當不存在可替換的第二插件對象時,所述瀏覽器側還可以包括:
[0131]提示信息接收模塊,適於接收伺服器側返回的提示信息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成;
[0132]第一插件對象創建模塊,適於依據所述提示信息,創建第一插件對象;
[0133]第二頁面加載模塊,適於採用所述第一插件對象進行所述網頁的加載。
[0134]在本發明的一種優選實施例中,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述腳本配置模塊還適於:[0135]在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數;
[0136]其中,所述代理對象通過調度接口 IDispatch接口將所述第一功能函數替換為第二插件對象中對應的第二功能函數。
[0137]採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0138]對於瀏覽器實施例而言,由於其與上述方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0139]參照圖4,示出了根據本發明一個實施例的一種伺服器實施例的結構框圖,具體可以包括如下模塊:
[0140]第一插件對象的參數信息接收模塊401,適於接收瀏覽器側發送的第一插件對象的參數信息;
[0141]第二插件對象的參數信息返回模塊402,適於依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
[0142]在本發明的一種優選實施例中,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;
[0143]所述第二插件對象的參數信息返回模塊還適於:
[0144]依據所述第一文件的URL,判斷在伺服器側預置的映射表中是否存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL ;
[0145]若是,則依據所述第二文件的URL獲取第二插件對象的標識;
[0146]將所述第二插件對象的標識以及第二文件的URL返回瀏覽器側。
[0147]在本發明實施例中,當不存在可替換的第二插件對象時,所述伺服器側還可以包括:
[0148]提示信息返回模塊,適於在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時,返回提示信息,由所述瀏覽器側依據所述提示信息,創建第一插件對象,並採用所述第一插件對象進行所述網頁的加載。
[0149]對於伺服器實施例而言,由於其與方法實施例基本相似,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
[0150]在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
[0151]在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0152]類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循【具體實施方式】的權利要求書由此明確地併入該【具體實施方式】,其中每個權利要求本身都作為本發明的單獨實施例。
[0153]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
[0154]此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0155]本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行的軟體模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數位訊號處理器(DSP )來實現根據本發明實施例的進行加載插件的設備中的一些或者全部部件的一些或者全部功能。本發明還可以實現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,電腦程式和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0156]應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中,不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞「包含」不排除存在未列在權利要求中的元件或步驟。位於元件之前的單詞「一」或「一個」不排除存在多個這樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為名稱。[0157]本發明公開了 Al、一種加載插件的方法,包括:
[0158]當瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;
[0159]將所述第一插件對象的參數信息發送至伺服器側;
[0160]接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得;
[0161]依據所述第二插件對象的參數信息創建第二插件對象;
[0162]建立所述代理對象與所述第二插件對象的關聯;
[0163]採用所述代理對象配置所述第二插件對象運行的腳本;
[0164]採用所述第二插件對象根據所述腳本進行所述網頁的加載。
[0165]A2、如Al所述的方法,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。
[0166]A3、如Al或A2所述的方法,還包括:
[0167]瀏覽器側接收伺服器側返回的提示信息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成;
[0168]依據所述提示信息,創建第一插件對象;
[0169]採用所述第一插件對象進行所述網頁的加載。
[0170]A4、如A2所述的方法,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述採用所述代理對象配置所述第二插件對象運行的腳本的步驟包括:
[0171]在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數;
[0172]採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0173]A5、如A4所述的方法,所述代理對象通過調度接口 IDispatch接口將所述第一功能函數替換為第二插件對象中對應的第二功能函數。
[0174]A6、如Al所述的方法,在瀏覽器側加載網頁的過程中鉤掛hook到cogetclassobject函數時,即攔截到第一插件對象的創建需求。
[0175]本發明還公開了 B7、一種加載插件的方法,包括:
[0176]接收瀏覽器側發送的第一插件對象的參數信息;
[0177]依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
[0178]Β8^Π B7所述的方法,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;
[0179]所述依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側的步驟,具體包括:
[0180]依據所述第一文件的URL,判斷在伺服器側預置的映射表中是否存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL ;
[0181]若是,則依據所述第二文件的URL獲取第二插件對象的標識;
[0182]將所述第二插件對象的標識以及第二文件的URL返回瀏覽器側。
[0183]B9、如B7或B8所述的方法,還包括:
[0184]在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時,返回提示信息,由所述瀏覽器側依據所述提示信息,創建第一插件對象,並採用所述第一插件對象進行所述網頁的加載。
[0185]本發明還公開了 C10、 一種瀏覽器,包括:
[0186]代理對象創建模塊,適於在瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息;
[0187]第一插件對象的參數信息發送模塊,適於將所述第一插件對象的參數信息發送至伺服器側;
[0188]第二插件對象的參數信息接收模塊,適於接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得;
[0189]第二插件對象創建模塊,適於依據所述第二插件對象的參數信息創建第二插件對象;
[0190]關聯建立模塊,適於建立所述代理對象與所述第二插件對象的關聯;
[0191]腳本配置模塊,適於採用所述代理對象配置所述第二插件對象運行的腳本;
[0192]第一頁面加載模塊,適於採用所述第二插件對象根據所述腳本進行所述網頁的加載。
[0193]C11、如ClO所述的瀏覽器,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。[0194]C12、如ClO或Cll所述的瀏覽器,還包括:
[0195]提示信息接收模塊,適於接收伺服器側返回的提示信息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成;
[0196]第一插件對象創建模塊,適於依據所述提示信息,創建第一插件對象;
[0197]第二頁面加載模塊,適於採用所述第一插件對象進行所述網頁的加載。
[0198]C13、如Cll所述的瀏覽器,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述腳本配置模塊還適於:
[0199]在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數;
[0200]採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
[0201]C14、如C13所述的瀏覽器,所述代理對象通過調度接口 IDispatch接口將所述第一功能函數替換為第二插件對象中對應的第二功能函數。
[0202]C15、如ClO所述的瀏覽器,在瀏覽器側加載網頁的過程中鉤掛hook到cogetclassobject函數時,即攔截到第一插件對象的創建需求。
[0203]本發明還公開了 D16、一種伺服器,包括:
[0204]第一插件對象的參數信息接收模塊,適於接收瀏覽器側發送的第一插件對象的參數信息;
[0205]第二插件對象的參數信息返回模塊,適於依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
[0206]D17、如D16所述的伺服器,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;
[0207]所述第二插件對象的參數信息返回模塊還適於:
[0208]依據所述第一文件的URL,判斷在伺服器側預置的映射表中是否存在與所述文件名,文件大小和文件哈希值相同的第二文件的URL ;
[0209]若是,則依據所述第二文件的URL獲取第二插件對象的標識;
[0210]將所述第二插件對象的標識以及第二文件的URL返回瀏覽器側。
[0211]D18、如D16或D17所述的伺服器,還包括:
[0212]提示信息返回模塊,適於在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時,返回提示信息,由所述瀏覽器側依據所述提示信息,創建第一插件對象,並採用所述第一插件對象進行所述網頁的加載。
【權利要求】
1.一種加載插件的方法,包括: 當瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息; 將所述第一插件對象的參數信息發送至伺服器側; 接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得; 依據所述第二插件對象的參數信息創建第二插件對象; 建立所述代理對象與所述第二插件對象的關聯; 採用所述代理對象配置所述第二插件對象運行的腳本; 採用所述第二插件對象根據所述腳本進行所述網頁的加載。
2.如權利要求1所述的方法,其特徵在於,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。
3.如權利要求1或2所述的方法,其特徵在於,還包括: 瀏覽器側接收伺服器側返回的提示信`息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成; 依據所述提示信息,創建第一插件對象; 採用所述第一插件對象進行所述網頁的加載。
4.如權利要求2所述的方法,其特徵在於,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述採用所述代理對象配置所述第二插件對象運行的腳本的步驟包括: 在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數; 採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
5.一種加載插件的方法,包括: 接收瀏覽器側發送的第一插件對象的參數信息; 依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
6.一種瀏覽器,包括:代理對象創建模塊,適於在瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時,創建代理對象,並獲取所述第一插件對象的參數信息; 第一插件對象的參數信息發送模塊,適於將所述第一插件對象的參數信息發送至伺服器側; 第二插件對象的參數信息接收模塊,適於接收所述伺服器側返回的第二插件對象的參數信息,所述第二插件對象的參數信息通過伺服器側在依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時提取獲得; 第二插件對象創建模塊,適於依據所述第二插件對象的參數信息創建第二插件對象; 關聯建立模塊,適於建立所述代理對象與所述第二插件對象的關聯; 腳本配置模塊,適於採用所述代理對象配置所述第二插件對象運行的腳本; 第一頁面加載模塊,適於採用所述第二插件對象根據所述腳本進行所述網頁的加載。
7.如權利要求6所述的瀏覽器,其特徵在於,所述第一插件對象的參數信息包括第一插件對象的標識以及第一文件的URL,所述第二插件對象的參數信息包括第二插件對象的標識以及第二文件的URL,所述第一文件的URL為按照第一插件對象的協議生成的URL,包括文件名,文件大小和文件 哈希值;所述第二文件的URL為按照第二插件對象的協議生成的URL,包括文件名,文件大小和文件哈希值;當存在可替換的第二插件對象時,所述第二文件的URL中的文件名,文件大小和文件哈希值,與所述第一文件的URL中的文件名,文件大小和文件哈希值相同。
8.如權利要求6或7所述的瀏覽器,其特徵在於,還包括: 提示信息接收模塊,適於接收伺服器側返回的提示信息,所述提示信息通過伺服器側在依據所述第一插件對象的參數信息判斷不存在可替換的第二插件對象時生成; 第一插件對象創建模塊,適於依據所述提不信息,創建第一插件對象; 第二頁面加載模塊,適於採用所述第一插件對象進行所述網頁的加載。
9.如權利要求7所述的瀏覽器,其特徵在於,所述第一插件對象的參數信息還包括第一功能函數,所述第二插件對象運行的腳本包括第二插件對象的第二功能函數,所述腳本配置模塊還適於: 在調用所述第一功能函數時,採用所述代理對象將所述第一功能函數替換為對應的第二功能函數; 採用所述代理對象按照所述第二功能函數以及所述第二文件的URL配置所述第二插件對象運行的腳本。
10.一種伺服器,包括: 第一插件對象的參數信息接收模塊,適於接收瀏覽器側發送的第一插件對象的參數信息; 第二插件對象的參數信息返回模塊,適於依據所述第一插件對象的參數信息判斷存在可替換的第二插件對象時,提取所述第二插件對象的參數信息返回瀏覽器側,由所述瀏覽器側依據所述第二插件對象的參數信息創建第二插件對象;建立代理對象與所述第二插件對象的關聯;採用所述代理對象配置所述第二插件對象運行的腳本;採用所述第二插件對象根據所述腳本進行所述網頁的加載,其中,所述代理對象為瀏覽器側在加載網頁的過程中攔截到第一插件對象的創建需求時創建。
【文檔編號】G06F9/445GK103577227SQ201310513333
【公開日】2014年2月12日 申請日期:2013年10月25日 優先權日:2013年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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀