一種接口調(diào)用方法、裝置及終端的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及計算機技術(shù)領(lǐng)域,尤其設(shè)及一種接口調(diào)用方法、裝置及終端。
【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,瀏覽器已成為移動終端上必備的應(yīng)用軟件之一,通過移 動終端上的瀏覽器瀏覽網(wǎng)頁時,瀏覽器內(nèi)核對網(wǎng)頁語法進(jìn)行解釋并擅染網(wǎng)頁。通常,瀏覽器 內(nèi)核提供了大量接口,客戶端腳本可W調(diào)用該些接口,瀏覽器解釋執(zhí)行網(wǎng)頁中加載的客戶 端腳本,從而實現(xiàn)網(wǎng)頁的動態(tài)展示效果,增強網(wǎng)頁的交互性。
[0003] 目前,瀏覽器大多為多核瀏覽器,即瀏覽器中包括至少兩個瀏覽器內(nèi)核,然而,不 同的瀏覽器內(nèi)核之間所提供的接口函數(shù)可能會存在差異。例如:不同的瀏覽器內(nèi)核針對實 現(xiàn)相同功能的接口A所設(shè)計的接口函數(shù)的參數(shù)數(shù)目、參數(shù)的傳遞順序不一樣,或者是瀏覽 器中某一瀏覽器內(nèi)核提供接口B,而另一瀏覽器內(nèi)核不提供該接口B。同時,由于現(xiàn)有瀏覽 器中的擴展插件和網(wǎng)頁都是基于某一特定的瀏覽器內(nèi)核開發(fā)出來的,網(wǎng)頁和擴展插件中的 客戶端腳本也基于該特定的瀏覽器內(nèi)核開發(fā)。因此,客戶端腳本可W正常運行在該特定的 瀏覽器內(nèi)核上。然而,若瀏覽器中當(dāng)前運行的瀏覽器內(nèi)核不是客戶端腳本對應(yīng)的特定瀏覽 器內(nèi)核,且當(dāng)前運行的瀏覽器內(nèi)核與該特定瀏覽器內(nèi)核,針對該客戶端腳本需要調(diào)用的接 口存在上述差異時,網(wǎng)頁或擴展插件將出現(xiàn)運行錯誤,導(dǎo)致瀏覽器的兼容性差。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明實施例提供一種接口調(diào)用方法、裝置及終端,可W提升瀏覽器的兼容性。
[0005] 第一方面,本發(fā)明實施例提供一種接口調(diào)用方法,包括:
[0006] 接收接口調(diào)用指令,所述接口調(diào)用指令攜帶有加載客戶端腳本需要調(diào)用的接口對 應(yīng)的接口標(biāo)識和參數(shù);
[0007] 當(dāng)瀏覽器中當(dāng)前運行的瀏覽器內(nèi)核不是所述客戶端腳本對應(yīng)的目標(biāo)瀏覽器內(nèi)核, 且所述當(dāng)前運行的瀏覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第一接口函數(shù)和所述目標(biāo)瀏 覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第二接口函數(shù)存在差異時,獲取預(yù)設(shè)的所述接口標(biāo) 識對應(yīng)的所述當(dāng)前運行的瀏覽器內(nèi)核的目標(biāo)接口函數(shù),所述目標(biāo)接口函數(shù)為根據(jù)所述目標(biāo) 瀏覽器內(nèi)核提供的所述第二接口函數(shù)進(jìn)行預(yù)設(shè)的與所述當(dāng)前運行的瀏覽器內(nèi)核對應(yīng)的第 S接口函數(shù);
[000引將所述參數(shù)作為所述目標(biāo)接口函數(shù)的輸入?yún)?shù),調(diào)用所述目標(biāo)接口函數(shù)。
[0009] 在第一方面的第一種可能的實現(xiàn)方式中,所述客戶端腳本為所述瀏覽器中的擴展 插件所包括的腳本程序;
[0010] 在所述接收接口調(diào)用指令之前,所述方法還包括:
[0011] 當(dāng)檢測到打開網(wǎng)頁的觸發(fā)事件時,將瀏覽器中需要加載的擴展插件對應(yīng)的客戶端 腳本插入待打開的網(wǎng)頁中。
[0012] 結(jié)合第一方面的第一種可能的實現(xiàn)方式,在第一方面的第二種可能的實現(xiàn)方式 中,所述擴展插件還包括在瀏覽器中加載的主程序;
[0013] 所述接收接口調(diào)用指令,所述接口調(diào)用指令攜帶有加載客戶端腳本需要調(diào)用的接 口對應(yīng)的接口標(biāo)識和參數(shù)之前,所述方法還包括:
[0014] 接收到加載該擴展插件的觸發(fā)指令時,啟動新的進(jìn)程加載所述主程序,所述新的 進(jìn)程中加載有所述目標(biāo)瀏覽器內(nèi)核。
[0015] 結(jié)合第一方面,在第一方面的第=種可能的實現(xiàn)方式中,所述當(dāng)瀏覽器中當(dāng)前運 行的瀏覽器內(nèi)核不是所述客戶端腳本對應(yīng)的目標(biāo)瀏覽器內(nèi)核,且所述當(dāng)前運行的瀏覽器內(nèi) 核提供的與所述接口標(biāo)識對應(yīng)的第一接口函數(shù)和所述目標(biāo)瀏覽器內(nèi)核提供的與所述接口 標(biāo)識對應(yīng)的第二接口函數(shù)存在差異時,獲取預(yù)設(shè)的所述接口標(biāo)識對應(yīng)的所述當(dāng)前運行的瀏 覽器內(nèi)核的目標(biāo)接口函數(shù)包括:
[0016] 當(dāng)瀏覽器中當(dāng)前運行的瀏覽器內(nèi)核不是所述客戶端腳本對應(yīng)的目標(biāo)瀏覽器內(nèi)核, 且所述當(dāng)前運行的瀏覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第一接口函數(shù)和所述目標(biāo)瀏 覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第二接口函數(shù)存在差異時,根據(jù)所述接口標(biāo)識,從 預(yù)設(shè)信息庫中查詢該接口標(biāo)識對應(yīng)所述當(dāng)前運行的瀏覽器內(nèi)核的接口函數(shù);
[0017] 將所查詢到的接口函數(shù)確定為目標(biāo)接口函數(shù)。
[0018] 結(jié)合第一方面或第一方面的上述任意一種可能的實現(xiàn)方式,在第一方面的第四種 可能的實現(xiàn)方式中,所述將所述參數(shù)作為所述目標(biāo)接口函數(shù)的輸入?yún)?shù),調(diào)用所述目標(biāo)接 口函數(shù)之后,所述方法還包括:
[0019] 返回所述目標(biāo)接口函數(shù)的調(diào)用結(jié)果。
[0020] 第二方面,本發(fā)明實施例提供一種接口調(diào)用裝置,所述裝置應(yīng)用于瀏覽器中,包 括:
[0021] 接收模塊,用于接收接口調(diào)用指令,所述接口調(diào)用指令攜帶有加載客戶端腳本需 要調(diào)用的接口對應(yīng)的接口標(biāo)識和參數(shù);
[0022] 確定模塊,用于當(dāng)瀏覽器中當(dāng)前運行的瀏覽器內(nèi)核不是所述客戶端腳本對應(yīng)的目 標(biāo)瀏覽器內(nèi)核,且所述當(dāng)前運行的瀏覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第一接口函數(shù) 和所述目標(biāo)瀏覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第二接口函數(shù)存在差異時,獲取預(yù)設(shè) 的所述接口標(biāo)識對應(yīng)的所述當(dāng)前運行的瀏覽器內(nèi)核的目標(biāo)接口函數(shù),所述目標(biāo)接口函數(shù)為 根據(jù)所述目標(biāo)瀏覽器內(nèi)核提供的所述第二接口函數(shù)進(jìn)行預(yù)設(shè)的與所述當(dāng)前運行的瀏覽器 內(nèi)核對應(yīng)的第=接口函數(shù);
[0023] 調(diào)用模塊,用于將所述參數(shù)作為所述目標(biāo)接口函數(shù)的輸入?yún)?shù),調(diào)用所述目標(biāo)接 口函數(shù)。
[0024] 在第二方面的第一種可能的實現(xiàn)方式中,所述客戶端腳本為所述瀏覽器中的擴展 插件所包括的腳本程序,所述裝置還包括:
[0025] 插入模塊,用于當(dāng)檢測到打開網(wǎng)頁的觸發(fā)事件時,將瀏覽器中需要加載的擴展插 件對應(yīng)的客戶端腳本插入待打開的網(wǎng)頁中。
[0026] 結(jié)合第二方面的第一種可能的實現(xiàn)方式,在第二方面的第二種可能的實現(xiàn)方式 中,所述擴展插件還包括在瀏覽器中加載的主程序,所述裝置還包括:
[0027] 啟動模塊,用于接收到加載該擴展插件的觸發(fā)指令時,啟動新的進(jìn)程加載所述主 程序,所述新的進(jìn)程中加載有所述目標(biāo)瀏覽器內(nèi)核。
[002引結(jié)合第二方面,在第二方面的第=種可能的實現(xiàn)方式中,所述確定模塊具體用 于:
[0029] 當(dāng)瀏覽器中當(dāng)前運行的瀏覽器內(nèi)核不是所述客戶端腳本對應(yīng)的目標(biāo)瀏覽器內(nèi)核, 且所述當(dāng)前運行的瀏覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第一接口函數(shù)和所述目標(biāo)瀏 覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第二接口函數(shù)存在差異時,根據(jù)所述接口標(biāo)識,從 預(yù)設(shè)信息庫中查詢該接口標(biāo)識對應(yīng)所述當(dāng)前運行的瀏覽器內(nèi)核的接口函數(shù);
[0030] 將所查詢到的接口函數(shù)確定為目標(biāo)接口函數(shù)。
[0031] 結(jié)合第二方面或第二方面的上述任意一種可能的實現(xiàn)方式,在第二方面的第四種 可能的實現(xiàn)方式中,所述裝置還包括:
[0032] 返回模塊,用于返回所述目標(biāo)接口函數(shù)的調(diào)用結(jié)果。
[0033] 第=方面,本發(fā)明實施例提供一種終端,包括如上所述的任意一種接口調(diào)用裝置。
[0034] 實施本發(fā)明實施例,接收接口調(diào)用指令,所述接口調(diào)用指令攜帶有加載客戶端腳 本需要調(diào)用的接口對應(yīng)的接口標(biāo)識和參數(shù);當(dāng)瀏覽器中當(dāng)前運行的瀏覽器內(nèi)核不是所述客 戶端腳本對應(yīng)的目標(biāo)瀏覽器內(nèi)核,且所述當(dāng)前運行的瀏覽器內(nèi)核提供的與所述接口標(biāo)識對 應(yīng)的第一接口函數(shù)和所述目標(biāo)瀏覽器內(nèi)核提供的與所述接口標(biāo)識對應(yīng)的第二接口函數(shù)存 在差異時,獲取預(yù)設(shè)的所述接口標(biāo)識對應(yīng)的所述當(dāng)前運行的瀏覽器內(nèi)核的目標(biāo)接口函數(shù); 將所述參數(shù)作為所述目標(biāo)接口函數(shù)的輸入?yún)?shù),調(diào)用所述目標(biāo)接口函數(shù)。采用本發(fā)明實施 例,根據(jù)瀏覽器中不同的瀏覽器內(nèi)核針對某些接口提供的接口函數(shù)存在差異的情況,預(yù)先 設(shè)置可供替換的接口函數(shù),因此,不管當(dāng)前運行的瀏覽器內(nèi)核是不是客戶端腳本對應(yīng)的目 標(biāo)瀏覽器內(nèi)核,瀏覽器均可W正常執(zhí)行客戶端腳本調(diào)用該部分存在差異的接口的請求,從 而避免客戶端腳本因調(diào)用該部分存在差異的接口時而出現(xiàn)運行錯誤的情況,提升瀏覽器的 兼容性。
【附圖說明】
[0035] 為了更清楚地說明本發(fā)明實施例中的技術(shù)方案,下面將對實施例描述中所需要使 用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實施例,對于本領(lǐng) 域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可W根據(jù)該些附圖獲得其他的附 圖。
[0036] 圖1是本發(fā)明實施例提供的一種接口調(diào)用方法的流程示意圖;
[0037] 圖2是本發(fā)明實施例提供的一種接口調(diào)用方法的另一流程示意圖;
[003引圖3是本發(fā)明實施例提供的一種接口調(diào)用裝置的結(jié)構(gòu)示意圖;
[0039] 圖4是本發(fā)明實施例提供的一種接口調(diào)用裝置的另一結(jié)構(gòu)示意圖;
[0040] 圖5是本發(fā)明實施例提供的一種終端的結(jié)構(gòu)示意圖;
[0041] 圖6是本發(fā)明實施例提供的一種接口調(diào)用裝置的又一結(jié)構(gòu)示意圖。
【具體實施方式】
[0042] 下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實施例僅是本發(fā)明的一部分實施例,而不是全部的實施例?;?本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他 實施例,都屬于本發(fā)明保護(hù)的范圍。
[0043] 本發(fā)明實施例提供了一種接口調(diào)用方法、裝置及終端,接收接口調(diào)用指令,所述接 口調(diào)用指令攜帶有加載客戶端腳本需要調(diào)用的接口對應(yīng)的接口標(biāo)識和參數(shù);當(dāng)瀏覽器中當(dāng) 前運行的瀏覽器內(nèi)核不是所述客戶端腳本對應(yīng)的目標(biāo)瀏覽器內(nèi)核,且所述當(dāng)前運行的瀏覽 器內(nèi)核和所述目標(biāo)瀏覽器內(nèi)核分別提供的該接口標(biāo)識對應(yīng)的接口函數(shù)存在差異時,確定該 接口標(biāo)識對應(yīng)的所述當(dāng)前運行的瀏覽器內(nèi)核的目標(biāo)接口函數(shù),所述目標(biāo)接口函數(shù)為預(yù)設(shè)的 接口函數(shù);將所述參數(shù)作為所述目標(biāo)接口函數(shù)的輸入?yún)?shù),調(diào)用所述目標(biāo)接口函數(shù)。采用本 發(fā)明實施例,根據(jù)瀏覽器中不同的瀏覽器內(nèi)核針對某些接口提供的接口函數(shù)存在差異的情 況,預(yù)先設(shè)置可供替換的接口函數(shù),因此,不管當(dāng)前運行的瀏覽器內(nèi)核