欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種接口調(diào)用方法、裝置及終端的制作方法

文檔序號(hào):6629863閱讀:252來(lái)源:國(guó)知局
一種接口調(diào)用方法、裝置及終端的制作方法
【專利摘要】本發(fā)明實(shí)施例公開(kāi)了一種接口調(diào)用方法,包括:接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào)用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型;將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi)型;將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。本發(fā)明實(shí)施例還公開(kāi)了一種接口調(diào)用裝置及終端。采用本發(fā)明實(shí)施例,可以提高調(diào)用接口的效率。
【專利說(shuō)明】-種接口調(diào)用方法、裝置及終端

【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計(jì)算機(jī)【技術(shù)領(lǐng)域】,尤其涉及一種接口調(diào)用方法、裝置及終端。

【背景技術(shù)】
[0002] 隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,瀏覽器已成為移動(dòng)終端上必備的應(yīng)用軟件之一,用戶可 通過(guò)電腦、手機(jī)等移動(dòng)終端上安裝的瀏覽器獲取互聯(lián)網(wǎng)上的共享信息或通過(guò)瀏覽器分享信 息等等。
[0003] 通常,瀏覽器提供了大量接口供客戶端腳本使用或調(diào)用,通過(guò)在網(wǎng)頁(yè)中加載客戶 端腳本,由瀏覽器解釋執(zhí)行該客戶端腳本,可以實(shí)現(xiàn)網(wǎng)頁(yè)的動(dòng)態(tài)展示效果,增強(qiáng)網(wǎng)頁(yè)的交互 性。例如:實(shí)現(xiàn)頁(yè)面元素的特殊顯示效果、響應(yīng)用戶動(dòng)作、驗(yàn)證表單數(shù)據(jù)等等。
[0004] 目前,瀏覽器大多為多核瀏覽器,即瀏覽器中包括至少兩個(gè)瀏覽器內(nèi)核。由于每種 瀏覽器內(nèi)核本身提供的接口有限,為滿足Web網(wǎng)頁(yè)的開(kāi)發(fā)需求,開(kāi)發(fā)人員需根據(jù)實(shí)際需要 開(kāi)發(fā)出更多的擴(kuò)展接口,以供Web網(wǎng)頁(yè)的客戶端腳本調(diào)用。然而,現(xiàn)有的接口函數(shù)都是基于 特定的瀏覽器內(nèi)核開(kāi)發(fā)的,即針對(duì)某一擴(kuò)展接口,開(kāi)發(fā)人員需對(duì)瀏覽器中的每種瀏覽器內(nèi) 核設(shè)計(jì)一個(gè)接口函數(shù)來(lái)實(shí)現(xiàn)該擴(kuò)展接口需要實(shí)現(xiàn)的功能,每種瀏覽器內(nèi)核只能調(diào)用針對(duì)該 內(nèi)核設(shè)計(jì)的接口函數(shù)。由于基于不同瀏覽器內(nèi)核設(shè)計(jì)接口函數(shù)的規(guī)范不一樣,因此,在現(xiàn)有 的多核瀏覽器的接口調(diào)用方法中,針對(duì)不同的瀏覽器內(nèi)核,需調(diào)用基于不同規(guī)范設(shè)計(jì)的接 口函數(shù),導(dǎo)致接口調(diào)用過(guò)程復(fù)雜,從而,調(diào)用接口的效率低。


【發(fā)明內(nèi)容】

[0005] 本發(fā)明實(shí)施例提供一種接口調(diào)用方法、裝置及終端,可以提高調(diào)用接口的效率。
[0006] 第一方面,本發(fā)明實(shí)施例提供一種接口調(diào)用方法,包括:
[0007] 接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào)用信息包括 調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi)核支持的數(shù) 據(jù)類(lèi)型;
[0008] 將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi)型;
[0009] 將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。
[0010] 在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?數(shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)之后,所述方法還包括:
[0011] 獲取調(diào)用所述目標(biāo)接口函數(shù)后返回的輸出參數(shù),所述輸出參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè) 的第二數(shù)據(jù)類(lèi)型;
[0012] 將所述輸出參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的輸出參數(shù)的數(shù)據(jù)類(lèi)型屬于發(fā)送所述接口 調(diào)用信息的瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型;
[0013] 向該瀏覽器內(nèi)核返回所述轉(zhuǎn)換后的輸出參數(shù)。
[0014] 結(jié)合上述任意一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的實(shí)現(xiàn)方式中,所 述將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)之前,所述 方法還包括:
[0015] 根據(jù)所述接口標(biāo)識(shí),查詢預(yù)設(shè)信息庫(kù)中是否存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口 函數(shù);
[0016] 若是,執(zhí)行將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接 口函數(shù)的步驟。
[0017] 結(jié)合第一方面的第二種可能的實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式 中,所述根據(jù)所述接口標(biāo)識(shí),查詢預(yù)設(shè)信息庫(kù)中是否存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口 函數(shù)之后,所述方法還包括:
[0018] 若否,向發(fā)送所述接口調(diào)用信息的瀏覽器內(nèi)核返回預(yù)設(shè)的錯(cuò)誤信息。
[0019] 結(jié)合第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第四種可能的實(shí)現(xiàn)方式 中,所述第一數(shù)據(jù)類(lèi)型包括KeyValueMap類(lèi)型,所述第二數(shù)據(jù)類(lèi)型包括Value類(lèi)型。
[0020] 第二方面,本發(fā)明實(shí)施例提供一種接口調(diào)用裝置,包括:
[0021] 接收模塊,用于接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接 口調(diào)用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽 器內(nèi)核支持的數(shù)據(jù)類(lèi)型;
[0022] 第一轉(zhuǎn)換模塊,用于將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè) 的第一數(shù)據(jù)類(lèi)型;
[0023] 調(diào)用模塊,用于將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目 標(biāo)接口函數(shù)。
[0024] 在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述裝置還包括:
[0025] 獲取模塊,用于獲取調(diào)用所述接口函數(shù)后返回的輸出參數(shù),所述輸出參數(shù)的數(shù)據(jù) 類(lèi)型為預(yù)設(shè)的第二數(shù)據(jù)類(lèi)型;
[0026] 第二轉(zhuǎn)換模塊,用于將所述輸出參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的輸出參數(shù)的數(shù)據(jù)類(lèi) 型屬于發(fā)送所述接口調(diào)用信息的瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型;
[0027] 發(fā)送模塊,用于向該瀏覽器內(nèi)核返回所述轉(zhuǎn)換后的輸出參數(shù)。
[0028] 結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的 實(shí)現(xiàn)方式中,所述裝置還包括:
[0029] 查詢模塊,用于根據(jù)所述接口標(biāo)識(shí),查詢預(yù)設(shè)信息庫(kù)中是否存在與所述接口標(biāo)識(shí) 匹配的目標(biāo)接口函數(shù);
[0030] 所述調(diào)用模塊,用于若所述預(yù)設(shè)信息庫(kù)中存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口函 數(shù),將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。
[0031] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式 中,所述發(fā)送模塊還用于:
[0032] 若所述預(yù)設(shè)信息庫(kù)中不存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口函數(shù),向發(fā)送所述接 口調(diào)用信息的瀏覽器內(nèi)核返回預(yù)設(shè)的錯(cuò)誤信息。
[0033] 結(jié)合第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第四種可能的實(shí)現(xiàn)方式 中,所述第一數(shù)據(jù)類(lèi)型包括KeyValueMap類(lèi)型,所述第二數(shù)據(jù)類(lèi)型包括Value類(lèi)型。
[0034] 第三方面,本發(fā)明實(shí)施例提供一種終端,包括如上所述的任意一種接口調(diào)用裝置。
[0035] 實(shí)施本發(fā)明實(shí)施例,接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所 述接口調(diào)用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù);對(duì)接口調(diào)用信息中攜帶的參 數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi)型;根據(jù)轉(zhuǎn)換后的參數(shù)和 接口調(diào)用信息中攜帶的接口標(biāo)識(shí)調(diào)用接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù),從而實(shí)現(xiàn)對(duì)接口的調(diào) 用。采用本發(fā)明實(shí)施例,通過(guò)對(duì)接口函數(shù)的參數(shù)進(jìn)行規(guī)范化處理,使得不同的瀏覽器內(nèi)核調(diào) 用接口時(shí)采用相同的接口調(diào)用方式,從而,提高了調(diào)用接口的效率。

【專利附圖】

【附圖說(shuō)明】
[0036] 為了更清楚地說(shuō)明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對(duì)實(shí)施例描述中所需要使 用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng) 域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附 圖。
[0037] 圖1是本發(fā)明實(shí)施例提供的一種接口調(diào)用方法的流程示意圖;
[0038] 圖2是本發(fā)明實(shí)施例提供的一種接口調(diào)用方法的另一流程示意圖;
[0039] 圖2a是圖2提供的一種設(shè)置接口的方法的流程示意圖;
[0040] 圖3是本發(fā)明實(shí)施例提供的一種接口調(diào)用裝置的結(jié)構(gòu)示意圖;
[0041] 圖4是本發(fā)明實(shí)施例提供的一種接口調(diào)用裝置的另一結(jié)構(gòu)示意圖;
[0042] 圖5是本發(fā)明實(shí)施例提供的一種接口調(diào)用裝置的又一結(jié)構(gòu)示意圖;
[0043] 圖6是本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖;
[0044] 圖7是本發(fā)明實(shí)施例提供的一種接口調(diào)用裝置的再一結(jié)構(gòu)示意圖。

【具體實(shí)施方式】
[0045] 下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅是本發(fā)明的一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0046] 本發(fā)明實(shí)施例公開(kāi)一種接口調(diào)用方法、裝置及終端,接收多核瀏覽器中任一瀏覽 器內(nèi)核發(fā)送的接口調(diào)用信息,對(duì)接口調(diào)用信息中攜帶的參數(shù)進(jìn)行格式轉(zhuǎn)換,其中,轉(zhuǎn)換后的 參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi)型;將轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用接口調(diào)用信 息中攜帶的接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù),實(shí)現(xiàn)對(duì)接口的調(diào)用。采用本發(fā)明實(shí)施例,針對(duì)不 同瀏覽器內(nèi)核調(diào)用接口的方式相同,可以提高調(diào)用接口的效率。下面將結(jié)合附圖1-附圖7 對(duì)本發(fā)明實(shí)施例提供的一種接口調(diào)用方法、裝置及終端分別進(jìn)行詳細(xì)介紹。
[0047] 請(qǐng)參見(jiàn)圖1,圖1是本發(fā)明實(shí)施例提供的一種接口調(diào)用方法的流程示意圖,在本發(fā) 明實(shí)施例中,該方法可以包括以下步驟。
[0048] S101 :接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào)用信 息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi)核支 持的數(shù)據(jù)類(lèi)型。
[0049] 在本發(fā)明實(shí)施例中,該方法可以用于終端上的瀏覽器或類(lèi)似于瀏覽器的產(chǎn)品中, 所述終端可以是計(jì)算機(jī)、IPAD、手機(jī)等終端,也可以是其它智能設(shè)備,具體的,本發(fā)明實(shí)施例 不作任何限制。
[0050] 通常,為豐富網(wǎng)頁(yè)的動(dòng)態(tài)展示效果,增強(qiáng)網(wǎng)頁(yè)與用戶的交互性,瀏覽器向網(wǎng)頁(yè)提供 了大量接口,供網(wǎng)頁(yè)中加載的客戶端腳本調(diào)用,瀏覽器解釋、執(zhí)行該客戶端腳本。例如:瀏 覽器接收到客戶端腳本的接口調(diào)用指令時(shí),根據(jù)該接口調(diào)用指令攜帶的信息運(yùn)行該信息所 指定的目標(biāo)接口對(duì)應(yīng)的接口函數(shù),從而實(shí)現(xiàn)相應(yīng)的功能。常用的瀏覽器內(nèi)核有:Trident內(nèi) 核、blink內(nèi)核、Gecko內(nèi)核等,為提高網(wǎng)頁(yè)的運(yùn)行效率,目前,瀏覽器大多為多核瀏覽器。例 如:獵豹瀏覽器采用Trident內(nèi)核和blink內(nèi)核,屬于雙核瀏覽器,Trident內(nèi)核是IE內(nèi)核, 可保障良好的兼容性,訪問(wèn)網(wǎng)購(gòu)、支付頁(yè)面完全不受限制;blink內(nèi)核是Chrome內(nèi)核,具備 高速的特點(diǎn),訪問(wèn)網(wǎng)頁(yè)速度更快。
[0051] 在多核瀏覽器中,若瀏覽器對(duì)網(wǎng)頁(yè)提供一個(gè)接口,現(xiàn)有方法中需針對(duì)每一種瀏覽 器內(nèi)核都設(shè)計(jì)一個(gè)與該接口所要實(shí)現(xiàn)的功能相同的接口函數(shù),不僅開(kāi)發(fā)成本高,而且由于 不同的瀏覽器內(nèi)核對(duì)接口函數(shù)的設(shè)計(jì)規(guī)范不一樣,導(dǎo)致不同的瀏覽器內(nèi)核調(diào)用接口的方式 不同,即不同的瀏覽器內(nèi)核針對(duì)相同的接口標(biāo)識(shí)所調(diào)用的接口函數(shù)不同,導(dǎo)致接口調(diào)用流 程復(fù)雜,從而,調(diào)用接口的效率低。
[0052] 本發(fā)明實(shí)施例中,多核瀏覽器在解釋執(zhí)行網(wǎng)頁(yè)的過(guò)程中,多核瀏覽器中的任意一 個(gè)瀏覽器內(nèi)核接收網(wǎng)頁(yè)中加載的客戶端腳本發(fā)送的接口調(diào)用指令,該接口調(diào)用指令攜帶了 調(diào)用目標(biāo)接口所需要的信息,如該信息可以包括接口標(biāo)識(shí)和接口標(biāo)識(shí)所對(duì)應(yīng)的接口函數(shù)所 需要的參數(shù)等。值得說(shuō)明的是,客戶端腳本傳送給瀏覽器內(nèi)核的參數(shù)的數(shù)據(jù)類(lèi)型屬于客戶 端腳本所支持的數(shù)據(jù)類(lèi)型,而瀏覽器內(nèi)核所支持的數(shù)據(jù)類(lèi)型通常不同于客戶端腳本所支持 的數(shù)據(jù)類(lèi)型,因此,瀏覽器內(nèi)核接收到客戶端腳本發(fā)送的接口調(diào)用指令時(shí),根據(jù)預(yù)設(shè)的參數(shù) 轉(zhuǎn)換規(guī)則自動(dòng)對(duì)接口調(diào)用指令中攜帶的參數(shù)進(jìn)行格式轉(zhuǎn)換,經(jīng)轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為 該瀏覽器內(nèi)核所支持的數(shù)據(jù)類(lèi)型。瀏覽器內(nèi)核將接口調(diào)用指令所攜帶的接口標(biāo)識(shí)和經(jīng)轉(zhuǎn)換 后的參數(shù)封裝成接口調(diào)用信息。本發(fā)明實(shí)施例中,接口調(diào)用裝置接收多核瀏覽器中任一瀏 覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào)用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和 參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型。
[0053] S102:將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi) 型。
[0054] 針對(duì)客戶端腳本的接口調(diào)用指令,考慮到不同的瀏覽器內(nèi)核將接口調(diào)用指令中攜 帶的參數(shù)進(jìn)行格式轉(zhuǎn)換后的參數(shù)類(lèi)型不一。本發(fā)明實(shí)施例中,從瀏覽器內(nèi)核發(fā)送過(guò)來(lái)的接 口調(diào)用信息中解析出參數(shù),并對(duì)該參數(shù)再次進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù) 設(shè)的第一數(shù)據(jù)類(lèi)型。所述第一數(shù)據(jù)類(lèi)型可以接納任何數(shù)據(jù)類(lèi)型的數(shù)據(jù),從而,保證不同的瀏 覽器內(nèi)核接收到客戶端腳本的接口調(diào)用指令時(shí),均可以通過(guò)本步驟將經(jīng)不同的瀏覽器內(nèi)核 轉(zhuǎn)換后的參數(shù)轉(zhuǎn)換為具有相同的數(shù)據(jù)類(lèi)型的參數(shù)。
[0055] S103 :將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函 數(shù)。
[0056] 根據(jù)接口調(diào)用信息中包括的接口標(biāo)識(shí),獲取與該接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。 從而,將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。換句話 說(shuō),根據(jù)轉(zhuǎn)換后的參數(shù),將該參數(shù)代入接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)中,運(yùn)行或執(zhí)行該目標(biāo) 接口函數(shù)。從而,針對(duì)不同的瀏覽器內(nèi)核,采用本發(fā)明實(shí)施例后,通過(guò)對(duì)接口函數(shù)進(jìn)行規(guī)范 化處理,不同的瀏覽器內(nèi)核調(diào)用接口的方式相同,換句話說(shuō),針對(duì)相同的接口標(biāo)識(shí),不同的 瀏覽器內(nèi)核調(diào)用的目標(biāo)接口函數(shù)相同,從而,提高了接口調(diào)用的效率,網(wǎng)頁(yè)的執(zhí)行效率也相 應(yīng)的得到提1?。
[0057] 在本發(fā)明實(shí)施例描述的接口調(diào)用方法中,接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送 的接口調(diào)用信息,所述接口調(diào)用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù);對(duì)接口 調(diào)用信息中攜帶的參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi)型; 根據(jù)轉(zhuǎn)換后的參數(shù)和接口調(diào)用信息中攜帶的接口標(biāo)識(shí)調(diào)用接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù), 從而實(shí)現(xiàn)對(duì)接口的調(diào)用。采用本發(fā)明實(shí)施例,可以提高調(diào)用接口的效率。
[0058] 請(qǐng)參見(jiàn)圖2,圖2是本發(fā)明實(shí)施例提供的一種接口調(diào)用方法的另一流程示意圖,在 本發(fā)明實(shí)施例中,該方法可以包括以下步驟。
[0059] S201 :接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào)用信 息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi)核支 持的數(shù)據(jù)類(lèi)型。
[0060] 多核瀏覽器在解釋執(zhí)行網(wǎng)頁(yè)的過(guò)程中,多核瀏覽器中的任意一種瀏覽器內(nèi)核接收 網(wǎng)頁(yè)中加載的客戶端腳本發(fā)送的接口調(diào)用指令,該接口調(diào)用指令攜帶了調(diào)用目標(biāo)接口所需 要的信息,如該信息可以包括接口標(biāo)識(shí)和接口標(biāo)識(shí)所對(duì)應(yīng)的接口函數(shù)所需要的參數(shù)等。值 得說(shuō)明的是,客戶端腳本傳送給瀏覽器內(nèi)核的參數(shù)的數(shù)據(jù)類(lèi)型屬于客戶端腳本所支持的數(shù) 據(jù)類(lèi)型,而瀏覽器內(nèi)核所支持的數(shù)據(jù)類(lèi)型通常不同于客戶端腳本所支持的數(shù)據(jù)類(lèi)型,因此, 瀏覽器內(nèi)核接收到客戶端腳本發(fā)送的接口調(diào)用指令時(shí),根據(jù)預(yù)設(shè)的參數(shù)轉(zhuǎn)換規(guī)則自動(dòng)對(duì)接 口調(diào)用指令中攜帶的參數(shù)進(jìn)行格式轉(zhuǎn)換,經(jīng)轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為瀏覽器內(nèi)核所支持 的數(shù)據(jù)類(lèi)型。瀏覽器內(nèi)核將接口調(diào)用指令所攜帶的接口標(biāo)識(shí)和經(jīng)轉(zhuǎn)換后的參數(shù)封裝成接口 調(diào)用信息。
[0061] 例如:由于Trident內(nèi)核對(duì)設(shè)計(jì)接口函數(shù)的規(guī)范為HRESULT InterfaceFunti on ( DISPPARAMS*pDispParams, VARIANT*pVarResult, EXCEPINFO*pExcepI nfo),因此,Trident 內(nèi)核接收到客戶端腳本的接口調(diào)用指令后,將接口調(diào)用指令所攜帶的參數(shù)轉(zhuǎn)換為數(shù)據(jù)類(lèi)型 分別為 "DISPPARAMS*"、"VARIANT*" 和 "E XCEPINF0*" 的參數(shù);而 Chrome 內(nèi)核對(duì)設(shè)計(jì)接口 函數(shù)的規(guī)范為 void Interface Funtion(const v8: :FunctionCallbackInfo<v8: :Value>& args),因此,Chrome內(nèi)核接收到客戶端腳本的接口調(diào)用指令后,將接口調(diào)用指令所攜帶的 參數(shù)轉(zhuǎn)換為數(shù)據(jù)類(lèi)型為"v8: :FunctionCallbackInfo〈v8: :Value>"的參數(shù)。
[0062] 本發(fā)明實(shí)施例中,接口調(diào)用裝置接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào) 用信息,所述接口調(diào)用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù) 類(lèi)型屬于所述瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型。例如:若所述瀏覽器內(nèi)核為T(mén)rident內(nèi)核,則接 口調(diào)用信息中的參數(shù)的數(shù)據(jù)類(lèi)型分別為"DISPPARAMS*"、"VARIANT*"和"EXCEPINF0*"類(lèi) 型;若所述瀏覽器內(nèi)核為Chrome內(nèi)核,則接口調(diào)用信息中的參數(shù)的數(shù)據(jù)類(lèi)型為"v8: :Funct ionCallbackInfo〈v8: : Value〉" 類(lèi)型。
[0063] S202:將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi) 型。
[0064] 針對(duì)客戶端腳本的接口調(diào)用指令,考慮到不同的瀏覽器內(nèi)核將接口調(diào)用指令中攜 帶的參數(shù)進(jìn)行格式轉(zhuǎn)換后的參數(shù)類(lèi)型不一。本發(fā)明實(shí)施例中,從瀏覽器內(nèi)核發(fā)送過(guò)來(lái)的接 口調(diào)用信息中解析出參數(shù),并對(duì)該參數(shù)再次進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù) 設(shè)的第一數(shù)據(jù)類(lèi)型。其中,所述第一數(shù)據(jù)類(lèi)型可以是預(yù)先定義的用于接納任何類(lèi)型數(shù)據(jù)的 數(shù)據(jù)類(lèi)型,也可以是編程語(yǔ)言自帶的數(shù)據(jù)庫(kù)中的通用數(shù)據(jù)類(lèi)型,該數(shù)據(jù)類(lèi)型可以接收任何 數(shù)據(jù)類(lèi)型的數(shù)據(jù)。例如AeyValueMap類(lèi)型,具體的,本發(fā)明實(shí)施例不作限制。為方便說(shuō)明, 本發(fā)明實(shí)施例以第一數(shù)據(jù)類(lèi)型為KeyValueMap類(lèi)型為例,但應(yīng)當(dāng)說(shuō)明的是,并不能以此限 制第一數(shù)據(jù)類(lèi)型。
[0065] KeyValueMap是一種數(shù)據(jù)類(lèi)型,該類(lèi)型像儲(chǔ)物箱一樣,可以用來(lái)保存多種不 同類(lèi)型的數(shù)據(jù),例如:整數(shù)、浮點(diǎn)數(shù)、字符串等等。具體的,KeyValueMap是一種鍵-值 (Key-Value)映射表,該映射表中保存了鍵(Key)和值(Value)的一一對(duì)應(yīng)關(guān)系,鍵(Key) 可以是數(shù)字(參數(shù)的順序)或字符串(參數(shù)的名稱),值(Value)是參數(shù)中對(duì)應(yīng)某個(gè)鍵 的具體值。為方便說(shuō)明,假設(shè)客戶端腳本欲調(diào)用一個(gè)添加網(wǎng)頁(yè)歷史記錄的接口,這個(gè)接口 需要傳入網(wǎng)頁(yè)的網(wǎng)址(url,假定為http:Wwww.liebao.cn)和訪問(wèn)的時(shí)間(time,假定為 2014-07-2020:00:00),根據(jù)步驟S202對(duì)參數(shù)進(jìn)行格式轉(zhuǎn)換后,得到轉(zhuǎn)換后的KeyValueMap 參數(shù)可以如表1所示,表1是本發(fā)明實(shí)施例提供的一種第一數(shù)據(jù)類(lèi)型的示意。
[0066] 表 1
[0067]

【權(quán)利要求】
1. 一種接口調(diào)用方法,其特征在于,包括: 接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào)用信息包括調(diào)用 目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi) 型; 將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第一數(shù)據(jù)類(lèi)型; 將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。
2. 如權(quán)利要求1所述的方法,其特征在于,所述將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào) 用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)之后,所述方法還包括: 獲取調(diào)用所述目標(biāo)接口函數(shù)后返回的輸出參數(shù),所述輸出參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第 二數(shù)據(jù)類(lèi)型; 將所述輸出參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的輸出參數(shù)的數(shù)據(jù)類(lèi)型屬于發(fā)送所述接口調(diào)用 信息的瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型; 向該瀏覽器內(nèi)核返回所述轉(zhuǎn)換后的輸出參數(shù)。
3. 如權(quán)利要求1或2所述的方法,其特征在于,所述將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?數(shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)之前,所述方法還包括: 根據(jù)所述接口標(biāo)識(shí),查詢預(yù)設(shè)信息庫(kù)中是否存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口函 數(shù); 若是,執(zhí)行將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函 數(shù)的步驟。
4. 如權(quán)利要求3所述的方法,其特征在于,所述根據(jù)所述接口標(biāo)識(shí),查詢預(yù)設(shè)信息庫(kù)中 是否存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口函數(shù)之后,所述方法還包括: 若否,向發(fā)送所述接口調(diào)用信息的瀏覽器內(nèi)核返回預(yù)設(shè)的錯(cuò)誤信息。
5. 如權(quán)利要求2所述的方法,其特征在于,所述第一數(shù)據(jù)類(lèi)型包括KeyValueMap類(lèi)型, 所述第二數(shù)據(jù)類(lèi)型包括Value類(lèi)型。
6. -種接口調(diào)用裝置,其特征在于,包括: 接收模塊,用于接收多核瀏覽器中任一瀏覽器內(nèi)核發(fā)送的接口調(diào)用信息,所述接口調(diào) 用信息包括調(diào)用目標(biāo)接口所需要的接口標(biāo)識(shí)和參數(shù),所述參數(shù)的數(shù)據(jù)類(lèi)型屬于該瀏覽器內(nèi) 核支持的數(shù)據(jù)類(lèi)型; 第一轉(zhuǎn)換模塊,用于將所述參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的參數(shù)的數(shù)據(jù)類(lèi)型為預(yù)設(shè)的第 一數(shù)據(jù)類(lèi)型; 調(diào)用模塊,用于將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接 口函數(shù)。
7. 如權(quán)利要求6所述的裝置,其特征在于,所述裝置還包括: 獲取模塊,用于獲取調(diào)用所述接口函數(shù)后返回的輸出參數(shù),所述輸出參數(shù)的數(shù)據(jù)類(lèi)型 為預(yù)設(shè)的第二數(shù)據(jù)類(lèi)型; 第二轉(zhuǎn)換模塊,用于將所述輸出參數(shù)進(jìn)行格式轉(zhuǎn)換,轉(zhuǎn)換后的輸出參數(shù)的數(shù)據(jù)類(lèi)型屬 于發(fā)送所述接口調(diào)用信息的瀏覽器內(nèi)核支持的數(shù)據(jù)類(lèi)型; 發(fā)送模塊,用于向該瀏覽器內(nèi)核返回所述轉(zhuǎn)換后的輸出參數(shù)。
8. 如權(quán)利要求6或7所述的裝置,其特征在于,所述裝置還包括: 查詢模塊,用于根據(jù)所述接口標(biāo)識(shí),查詢預(yù)設(shè)信息庫(kù)中是否存在與所述接口標(biāo)識(shí)匹配 的目標(biāo)接口函數(shù); 所述調(diào)用模塊,用于若所述預(yù)設(shè)信息庫(kù)中存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口函數(shù), 將所述轉(zhuǎn)換后的參數(shù)作為輸入?yún)?shù),調(diào)用所述接口標(biāo)識(shí)對(duì)應(yīng)的目標(biāo)接口函數(shù)。
9. 如權(quán)利要求7所述的裝置,其特征在于,所述發(fā)送模塊還用于: 若所述預(yù)設(shè)信息庫(kù)中不存在與所述接口標(biāo)識(shí)匹配的目標(biāo)接口函數(shù),向發(fā)送所述接口調(diào) 用信息的瀏覽器內(nèi)核返回預(yù)設(shè)的錯(cuò)誤信息。
10. 如權(quán)利要求7所述的裝置,其特征在于,所述第一數(shù)據(jù)類(lèi)型包括KeyValueMap類(lèi)型, 所述第二數(shù)據(jù)類(lèi)型包括Value類(lèi)型。
11. 一種終端,其特征在于,包括如權(quán)利要求6-10任一項(xiàng)所述的裝置。
【文檔編號(hào)】G06F17/30GK104281455SQ201410534517
【公開(kāi)日】2015年1月14日 申請(qǐng)日期:2014年10月11日 優(yōu)先權(quán)日:2014年10月11日
【發(fā)明者】魏宏濤, 張駿 申請(qǐng)人:北京金山安全軟件有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
全椒县| 长武县| 宝应县| 沙河市| 刚察县| 文昌市| 石楼县| 慈溪市| 吉林市| 惠东县| 巫溪县| 永修县| 兴和县| 青海省| 白玉县| 安阳县| 临猗县| 桓台县| 西充县| 诸城市| 梅河口市| 巴林右旗| 如东县| 南丰县| 衡东县| 诸暨市| 闵行区| 岢岚县| 乐业县| 汉寿县| 冕宁县| 石泉县| 十堰市| 安新县| 宝丰县| 蓝山县| 宣威市| 剑阁县| 威海市| 灌南县| 中西区|