本發(fā)明專利技術(shù)提供了一種用于頁面交互的方法與裝置,其中,用于頁面交互的裝置包括:第一調(diào)用模塊,用于接受頁面交互插件的調(diào)用指令;第二調(diào)用模塊,用于根據(jù)所述瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取所述頁面交互插件與所述瀏覽器的頁面進(jìn)行交互的時(shí)機(jī);交互模塊,用于向所述頁面交互插件通知所述交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī);其中,所述頁面交互插件的調(diào)用指令中包括:頁面元素參數(shù)和回調(diào)函數(shù)參數(shù),所述回調(diào)函數(shù)參數(shù)用于指示執(zhí)行所述頁面交互插件與所述瀏覽器的頁面之間的交互操作的回調(diào)函數(shù)。通過本發(fā)明專利技術(shù),實(shí)現(xiàn)了對(duì)具有不同瀏覽器內(nèi)核的瀏覽器的兼容,提高了開發(fā)人員開發(fā)插件的效率,并且速度快,節(jié)省系統(tǒng)資源。
【技術(shù)實(shí)現(xiàn)步驟摘要】
本專利技術(shù)涉及計(jì)算機(jī)
,特別是涉及一種使用頁面交互插件的用于頁面交互的方法與裝置。
技術(shù)介紹
插件是一種遵循一定規(guī)范的應(yīng)用程序接口編寫出來的程序,插件種類繁多。很多軟件都具有插件,在瀏覽器如IE瀏覽器中,安裝相關(guān)的插件后,瀏覽器就能夠直接調(diào)用插件程序,處理特定類型的文件。以IE瀏覽器為例,插件會(huì)隨著IE瀏覽器的啟動(dòng)自動(dòng)執(zhí)行。IE瀏覽器常見的插件包括Flash插件、RealPlayer插件、MMS插件、MIDI五線譜插件、ActiveX插件等等,Winamp的DFX也是插件。在眾多插件中,很多插件需要與頁面進(jìn)行交互,即頁面交互插件,例如,360登錄管家、360郵件通、微博、人人、圖片工具條等,這些插件在使用時(shí)需要獲取頁面可交互時(shí)機(jī)。目前,頁面交互插件獲取頁面可交互時(shí)機(jī)時(shí),針對(duì)不同的瀏覽器內(nèi)核會(huì)采用多種不同的方法,例如定期輪詢、針對(duì)不同的瀏覽器內(nèi)核調(diào)用不同的接口等等。舉例來說,目前的一些頁面交互插件為了獲取頁面可交互時(shí)機(jī),會(huì)實(shí)現(xiàn)一個(gè)定時(shí)器,然后定時(shí)詢問頁面是否加載完成,以確定頁面可交互時(shí)機(jī),以在該時(shí)機(jī)進(jìn)行頁面交互插件與頁面的交互操作。IE瀏覽器中,頁面交互插件獲取頁面可交互時(shí)機(jī)主要針對(duì)IE瀏覽器內(nèi)核來實(shí)現(xiàn),其中通過調(diào)用COM接口來實(shí)現(xiàn)所需的功能。但是,上述現(xiàn)有頁面交互插件獲取頁面可交互時(shí)機(jī)時(shí),一方面,需要定時(shí)詢問,造成效率低,速度慢,浪費(fèi)系統(tǒng)資源;另一方面,頁面交互插件獲取頁面可交互時(shí)機(jī)的接口無法對(duì)不同瀏覽器內(nèi)核兼容,如用COM接口實(shí)現(xiàn)獲取頁面可交互時(shí)機(jī)只適于IE瀏覽器,對(duì)于Chrome瀏覽器該方法不再適用,需要重新開發(fā),即,對(duì)于不同瀏覽器無法實(shí)現(xiàn)兼容;并且,上述頁面交互插件獲取頁面可交互時(shí)機(jī)的接口沒有在瀏覽器中實(shí)現(xiàn)統(tǒng)一的接口,插件開發(fā)時(shí)需要重復(fù)勞動(dòng),無法簡(jiǎn)便高效地獲取頁面可交互時(shí)機(jī),也造成了資源浪費(fèi)。
技術(shù)實(shí)現(xiàn)思路
鑒于上述現(xiàn)有技術(shù)在獲取頁面可交互時(shí)機(jī)時(shí),針對(duì)不同內(nèi)核的瀏覽器不能兼容、效率低下、浪費(fèi)系統(tǒng)資源等問題,提出了本專利技術(shù)以便提供一種克服上述問題或者至少部分地解決上述問題的用于頁面交互的方法與裝置。依據(jù)本專利技術(shù)的一個(gè)方面,提供了一種用于頁面交互的方法,包括接受頁面交互插件的調(diào)用指令;判斷頁面交互插件所在的瀏覽器使用的瀏覽器內(nèi)核的類型;根據(jù)瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取頁面交互插件與瀏覽器的頁面進(jìn)行交互的時(shí)機(jī);向頁面交互插件通知交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī),以使頁面交互插件與瀏覽器的頁面之間進(jìn)行交互;其中,頁面交互插件的調(diào)用指令中包括頁面元素參數(shù)和回調(diào)函數(shù)參數(shù),其中,頁面元素參數(shù)用于指示頁面交互插件進(jìn)行頁面交互所需的頁面元素,回調(diào)函數(shù)參數(shù)用于指示執(zhí)行頁面交互插件與瀏覽器的頁面之間的交互操作的回調(diào)函數(shù)。可選地,根據(jù)瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取頁面交互插件與瀏覽器的頁面進(jìn)行交互的時(shí)機(jī)的步驟包括若瀏覽器內(nèi)核的類型為trident內(nèi)核,則調(diào)用使用trident內(nèi)核的瀏覽器的Behavior接口,并將頁面元素參數(shù)通知給Behavior接口 ;接收Behavior接口在確定頁面元素參數(shù)指示的頁面元素加載完成后返回的交互時(shí)機(jī);若瀏覽器內(nèi)核的類型為webkit內(nèi)核或者Gecko內(nèi)核,則調(diào)用使用webkit內(nèi)核或者Gecko內(nèi)核的瀏覽器中相應(yīng)的交互時(shí)機(jī)獲取接口,接收相應(yīng)的交互時(shí)機(jī)獲取接口返回的DOMContentLoaded事件的觸發(fā)時(shí)機(jī)作為頁面交互插件與瀏覽器的頁面進(jìn)行交互的時(shí)機(jī)。可選地,向頁面交互插件通知交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī),以使頁面交互插件與瀏覽器的頁面之間進(jìn)行交互的步驟包括在接收到交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī)時(shí),調(diào)用回調(diào)函數(shù)參數(shù)指示的回調(diào)函數(shù),通過回調(diào)函數(shù)使頁面交互插件與瀏覽器的頁面之間進(jìn)行交互。可選地,頁面交互方法由動(dòng)態(tài)鏈接庫或者瀏覽器組件實(shí)現(xiàn)。可選地,Behavior接 口包括 IElementBehavior 接口、IElementBehaviorFactory接口和 IElementBehaviorSite 接口 ;其中,IElementBehaviorFactory 接口用于定位并調(diào)用動(dòng)態(tài)鏈接庫或?yàn)g覽器組件;IElementBehavior接口用于在確定頁面元素加載完成后返回交互時(shí)機(jī);IElementBehaviorSite接口用于瀏覽器與動(dòng)態(tài)鏈接庫或?yàn)g覽器組件之間的通信。根據(jù)本專利技術(shù)的另一方面,提供了一種用于頁面交互的裝置,包括第一調(diào)用模塊,用于接受頁面交互插件的調(diào)用指令;判斷頁面交互插件所在的瀏覽器使用的瀏覽器內(nèi)核的類型;第二調(diào)用模塊,用于根據(jù)瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取頁面交互插件與瀏覽器的頁面進(jìn)行交互的時(shí)機(jī);交互模塊,用于向頁面交互插件通知交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī),以使頁面交互插件與瀏覽器的頁面之間進(jìn)行交互;其中,,頁面交互插件的調(diào)用指令中包括頁面元素參數(shù)和回調(diào)函數(shù)參數(shù),其中,頁面元素參數(shù)用于指示頁面交互插件進(jìn)行頁面交互所需的頁面元素,回調(diào)函數(shù)參數(shù)用于指示執(zhí)行頁面交互插件與瀏覽器的頁面之間的交互操作的回調(diào)函數(shù)。可選地,第二調(diào)用模塊,用于若瀏覽器內(nèi)核的類型為trident內(nèi)核,則調(diào)用使用trident內(nèi)核的瀏覽器的Behavior接口,并將頁面元素參數(shù)通知給Behavior接口 ;接收Behavior接口在確定頁面元素參數(shù)指示的頁面元素加載完成后返回的交互時(shí)機(jī);若瀏覽器內(nèi)核的類型為webkit內(nèi)核或者Gecko內(nèi)核,則調(diào)用使用webkit內(nèi)核或者Gecko內(nèi)核的瀏覽器中相應(yīng)的交互時(shí)機(jī)獲取接口,接收相應(yīng)的交互時(shí)機(jī)獲取接口返回的DOMContentLoaded事件的觸發(fā)時(shí)機(jī)作為頁面交互插件與瀏覽器的頁面進(jìn)行交互的時(shí)機(jī)。可選地,交互模塊,用于在接收到交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī)時(shí),調(diào)用回調(diào)函數(shù)參數(shù)指示的回調(diào)函數(shù),通過回調(diào)函數(shù)使頁面交互插件與瀏覽器的頁面之間進(jìn)行交互。可選地,用于頁面交互的裝置由動(dòng)態(tài)鏈接庫對(duì)應(yīng)的裝置或者瀏覽器組件對(duì)應(yīng)的裝置實(shí)現(xiàn)。可選地,Behavior接 口包括 IElementBehavior 接口、IElementBehaviorFactory接口和 IElementBehaviorSite 接口 ;其中,IElementBehaviorFactory 接口用于定位并調(diào)用動(dòng)態(tài)鏈接庫或?yàn)g覽器組件;IElementBehavior接口用于在確定頁面元素加載完成后返回交互時(shí)機(jī);IElementBehaviorSite接口用于瀏覽器與動(dòng)態(tài)鏈接庫或?yàn)g覽器組件之間的通信。本專利技術(shù)的用于頁面交互的方案在頁面交互插件需要頁面可交互時(shí)機(jī)時(shí),通過統(tǒng)一格式的調(diào)用指令,接受頁面交互插件的調(diào)用,并根據(jù)瀏覽器內(nèi)核的類型調(diào)用與瀏覽器內(nèi)核相對(duì)應(yīng)的交互時(shí)機(jī)獲取接口,以獲取頁面交互插件與瀏覽器的頁面之間進(jìn)行交互的時(shí)機(jī),從而進(jìn)行頁面交互插件和瀏覽器的頁面交互。通過本專利技術(shù),無須采取輪詢機(jī)制,通過調(diào)用內(nèi)核中的相應(yīng)的接口即可獲取頁面可交互時(shí)機(jī),節(jié)省了資源,提高了效率,加快了頁面可交互時(shí)機(jī)獲取速度;針對(duì)不同瀏覽器內(nèi)核調(diào)用不同的交互時(shí)機(jī)獲取接口,實(shí)現(xiàn)了對(duì)具有不同瀏覽器內(nèi)核的瀏覽器的兼容;并且,本專利技術(shù)的用于頁面交互的方案可以采用統(tǒng)一接口實(shí)現(xiàn),提高了開發(fā)人員開發(fā)插件的效率,并且速度快,節(jié)省系統(tǒng)資源。上述說明僅是本專利技術(shù)技術(shù)方案的概述,為了能夠更清楚了本文檔來自技高網(wǎng)...
【技術(shù)保護(hù)點(diǎn)】
一種用于頁面交互的方法,包括:接受頁面交互插件的調(diào)用指令;判斷所述頁面交互插件所在的瀏覽器使用的瀏覽器內(nèi)核的類型;根據(jù)所述瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取所述頁面交互插件與所述瀏覽器的頁面進(jìn)行交互的時(shí)機(jī);向所述頁面交互插件通知所述交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī),以使所述頁面交互插件與所述瀏覽器的頁面之間進(jìn)行交互;其中,所述頁面交互插件的調(diào)用指令中包括:頁面元素參數(shù)和回調(diào)函數(shù)參數(shù),其中,所述頁面元素參數(shù)用于指示所述頁面交互插件進(jìn)行頁面交互所需的頁面元素,所述回調(diào)函數(shù)參數(shù)用于指示執(zhí)行所述頁面交互插件與所述瀏覽器的頁面之間的交互操作的回調(diào)函數(shù)。
【技術(shù)特征摘要】
1.一種用于頁面交互的方法,包括 接受頁面交互插件的調(diào)用指令; 判斷所述頁面交互插件所在的瀏覽器使用的瀏覽器內(nèi)核的類型; 根據(jù)所述瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取所述頁面交互插件與所述瀏覽器的頁面進(jìn)行交互的時(shí)機(jī); 向所述頁面交互插件通知所述交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī),以使所述頁面交互插件與所述瀏覽器的頁面之間進(jìn)行交互; 其中,所述頁面交互插件的調(diào)用指令中包括頁面元素參數(shù)和回調(diào)函數(shù)參數(shù),其中,所述頁面元素參數(shù)用于指示所述頁面交互插件進(jìn)行頁面交互所需的頁面元素,所述回調(diào)函數(shù)參數(shù)用于指示執(zhí)行所述頁面交互插件與所述瀏覽器的頁面之間的交互操作的回調(diào)函數(shù)。2.根據(jù)權(quán)利要求1所述的方法,其中,所述根據(jù)所述瀏覽器內(nèi)核的類型,調(diào)用相應(yīng)的交互時(shí)機(jī)獲取接口獲取所述頁面交互插件與所述瀏覽器的頁面進(jìn)行交互的時(shí)機(jī)的步驟包括 若所述瀏覽器內(nèi)核的類型為trident內(nèi)核,則調(diào)用使用所述trident內(nèi)核的瀏覽器的Behavior接口,并將所述頁面元素參數(shù)通知給所述Behavior接口 ;接收所述Behavior接口在確定所述頁面元素參數(shù)指示的頁面元素加載完成后返回的交互時(shí)機(jī); 若所述瀏覽器內(nèi)核的類型為webkit內(nèi)核或者Gecko內(nèi)核,則調(diào)用使用所述webkit內(nèi)核或者Gecko內(nèi)核的瀏覽器中相應(yīng)的交互時(shí)機(jī)獲取接口,接收所述相應(yīng)的交互時(shí)機(jī)獲取接口返回的DOMContentLoaded事件的觸發(fā)時(shí)機(jī)作為所述頁面交互插件與所述瀏覽器的頁面進(jìn)行交互的時(shí)機(jī)。3.根據(jù)權(quán)利要求1所述的方法,其中,向所述頁面交互插件通知所述交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī),以使所述頁面交互插件與所述瀏覽器的頁面之間進(jìn)行交互的步驟包括 在接收到所述交互時(shí)機(jī)獲取接口返回的交互時(shí)機(jī)時(shí),調(diào)用所述回調(diào)函數(shù)參數(shù)指示的回調(diào)函數(shù),通過所述回調(diào)函數(shù)使所述頁面交互插件與所述瀏覽器的頁面之間進(jìn)行交互。4.根據(jù)權(quán)利要求2或3所述的方法,其中,所述方法由動(dòng)態(tài)鏈接庫或者瀏覽器組件實(shí)現(xiàn)。5.根據(jù)權(quán)利要求4所述的方法,其中,所述Behavior接口包括IElementBehavior接口、IElementBehaviorFactory 接口和 IElementBehaviorSite 接口;其中,所述IElementBehaviorFactory接口用于定位并調(diào)用所述動(dòng)態(tài)鏈接庫或所述瀏覽器組件;所述IElementBehavior接口用于在確定所述頁面元素加載完成后返回所述交互時(shí)機(jī);所述IElementBehavior...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:段培堃,杭程,謝志宏,任寰,
申請(qǐng)(專利權(quán))人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發(fā)明
國別省市:
還沒有人留言評(píng)論。發(fā)表了對(duì)其他瀏覽者有用的留言會(huì)獲得科技券。