CN103019817A - 一种用于页面交互的方法与装置 - Google Patents

一种用于页面交互的方法与装置 Download PDF

Info

Publication number
CN103019817A
CN103019817A CN201210506628XA CN201210506628A CN103019817A CN 103019817 A CN103019817 A CN 103019817A CN 201210506628X A CN201210506628X A CN 201210506628XA CN 201210506628 A CN201210506628 A CN 201210506628A CN 103019817 A CN103019817 A CN 103019817A
Authority
CN
China
Prior art keywords
page
browser
interface
mutual
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201210506628XA
Other languages
English (en)
Other versions
CN103019817B (zh
Inventor
段培堃
杭程
谢志宏
任寰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Qihoo Technology Co Ltd
Original Assignee
Beijing Qihoo Technology Co Ltd
Qizhi Software Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Qihoo Technology Co Ltd, Qizhi Software Beijing Co Ltd filed Critical Beijing Qihoo Technology Co Ltd
Priority to CN201210506628.XA priority Critical patent/CN103019817B/zh
Publication of CN103019817A publication Critical patent/CN103019817A/zh
Application granted granted Critical
Publication of CN103019817B publication Critical patent/CN103019817B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种用于页面交互的方法与装置,其中,用于页面交互的装置包括:第一调用模块,用于接受页面交互插件的调用指令;第二调用模块,用于根据所述浏览器内核的类型,调用相应的交互时机获取接口获取所述页面交互插件与所述浏览器的页面进行交互的时机;交互模块,用于向所述页面交互插件通知所述交互时机获取接口返回的交互时机;其中,所述页面交互插件的调用指令中包括:页面元素参数和回调函数参数,所述回调函数参数用于指示执行所述页面交互插件与所述浏览器的页面之间的交互操作的回调函数。通过本发明,实现了对具有不同浏览器内核的浏览器的兼容,提高了开发人员开发插件的效率,并且速度快,节省系统资源。

Description

一种用于页面交互的方法与装置
技术领域
本发明涉及计算机技术领域,特别是涉及一种使用页面交互插件的用于页面交互的方法与装置。
背景技术
插件是一种遵循一定规范的应用程序接口编写出来的程序,插件种类繁多。很多软件都具有插件,在浏览器如IE浏览器中,安装相关的插件后,浏览器就能够直接调用插件程序,处理特定类型的文件。
以IE浏览器为例,插件会随着IE浏览器的启动自动执行。IE浏览器常见的插件包括:Flash插件、RealPlayer插件、MMS插件、MIDI五线谱插件、ActiveX插件等等,Winamp的DFX也是插件。在众多插件中,很多插件需要与页面进行交互,即页面交互插件,例如,360登录管家、360邮件通、微博、人人、图片工具条等,这些插件在使用时需要获取页面可交互时机。目前,页面交互插件获取页面可交互时机时,针对不同的浏览器内核会采用多种不同的方法,例如定期轮询、针对不同的浏览器内核调用不同的接口等等。
举例来说,目前的一些页面交互插件为了获取页面可交互时机,会实现一个定时器,然后定时询问页面是否加载完成,以确定页面可交互时机,以在该时机进行页面交互插件与页面的交互操作。IE浏览器中,页面交互插件获取页面可交互时机主要针对IE浏览器内核来实现,其中通过调用COM接口来实现所需的功能。
但是,上述现有页面交互插件获取页面可交互时机时,一方面,需要定时询问,造成效率低,速度慢,浪费系统资源;另一方面,页面交互插件获取页面可交互时机的接口无法对不同浏览器内核兼容,如用COM接口实现获取页面可交互时机只适于IE浏览器,对于Chrome浏览器该方法不再适用,需要重新开发,即,对于不同浏览器无法实现兼容;并且,上述页面交互插件获取页面可交互时机的接口没有在浏览器中实现统一的接口,插件开发时需要重复劳动,无法简便高效地获取页面可交互时机,也造成了资源浪费。
发明内容
鉴于上述现有技术在获取页面可交互时机时,针对不同内核的浏览器不能兼容、效率低下、浪费系统资源等问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的用于页面交互的方法与装置。
依据本发明的一个方面,提供了一种用于页面交互的方法,包括:接受页面交互插件的调用指令;判断页面交互插件所在的浏览器使用的浏览器内核的类型;根据浏览器内核的类型,调用相应的交互时机获取接口获取页面交互插件与浏览器的页面进行交互的时机;向页面交互插件通知交互时机获取接口返回的交互时机,以使页面交互插件与浏览器的页面之间进行交互;其中,页面交互插件的调用指令中包括:页面元素参数和回调函数参数,其中,页面元素参数用于指示页面交互插件进行页面交互所需的页面元素,回调函数参数用于指示执行页面交互插件与浏览器的页面之间的交互操作的回调函数。
可选地,根据浏览器内核的类型,调用相应的交互时机获取接口获取页面交互插件与浏览器的页面进行交互的时机的步骤包括:若浏览器内核的类型为trident内核,则调用使用trident内核的浏览器的Behavior接口,并将页面元素参数通知给Behavior接口;接收Behavior接口在确定页面元素参数指示的页面元素加载完成后返回的交互时机;若浏览器内核的类型为webkit内核或者Gecko内核,则调用使用webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口,接收相应的交互时机获取接口返回的DOMContentLoaded事件的触发时机作为页面交互插件与浏览器的页面进行交互的时机。
可选地,向页面交互插件通知交互时机获取接口返回的交互时机,以使页面交互插件与浏览器的页面之间进行交互的步骤包括:在接收到交互时机获取接口返回的交互时机时,调用回调函数参数指示的回调函数,通过回调函数使页面交互插件与浏览器的页面之间进行交互。
可选地,页面交互方法由动态链接库或者浏览器组件实现。
可选地,Behavior接口包括IElementBehavior接口、IElementBehaviorFactory接口和IElementBehaviorSite接口;其中,IElementBehaviorFactory接口用于定位并调用动态链接库或浏览器组件;IElementBehavior接口用于在确定页面元素加载完成后返回交互时机;IElementBehaviorSite接口用于浏览器与动态链接库或浏览器组件之间的通信。
根据本发明的另一方面,提供了一种用于页面交互的装置,包括:第一调用模块,用于接受页面交互插件的调用指令;判断页面交互插件所在的浏览器使用的浏览器内核的类型;第二调用模块,用于根据浏览器内核的类型,调用相应的交互时机获取接口获取页面交互插件与浏览器的页面进行交互的时机;交互模块,用于向页面交互插件通知交互时机获取接口返回的交互时机,以使页面交互插件与浏览器的页面之间进行交互;其中,,页面交互插件的调用指令中包括:页面元素参数和回调函数参数,其中,页面元素参数用于指示页面交互插件进行页面交互所需的页面元素,回调函数参数用于指示执行页面交互插件与浏览器的页面之间的交互操作的回调函数。
可选地,第二调用模块,用于若浏览器内核的类型为trident内核,则调用使用trident内核的浏览器的Behavior接口,并将页面元素参数通知给Behavior接口;接收Behavior接口在确定页面元素参数指示的页面元素加载完成后返回的交互时机;若浏览器内核的类型为webkit内核或者Gecko内核,则调用使用webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口,接收相应的交互时机获取接口返回的DOMContentLoaded事件的触发时机作为页面交互插件与浏览器的页面进行交互的时机。
可选地,交互模块,用于在接收到交互时机获取接口返回的交互时机时,调用回调函数参数指示的回调函数,通过回调函数使页面交互插件与浏览器的页面之间进行交互。
可选地,用于页面交互的装置由动态链接库对应的装置或者浏览器组件对应的装置实现。
可选地,Behavior接口包括IElementBehavior接口、IElementBehaviorFactory接口和IElementBehaviorSite接口;其中,IElementBehaviorFactory接口用于定位并调用动态链接库或浏览器组件;IElementBehavior接口用于在确定页面元素加载完成后返回交互时机;IElementBehaviorSite接口用于浏览器与动态链接库或浏览器组件之间的通信。
本发明的用于页面交互的方案在页面交互插件需要页面可交互时机时,通过统一格式的调用指令,接受页面交互插件的调用,并根据浏览器内核的类型调用与浏览器内核相对应的交互时机获取接口,以获取页面交互插件与浏览器的页面之间进行交互的时机,从而进行页面交互插件和浏览器的页面交互。通过本发明,无须采取轮询机制,通过调用内核中的相应的接口即可获取页面可交互时机,节省了资源,提高了效率,加快了页面可交互时机获取速度;针对不同浏览器内核调用不同的交互时机获取接口,实现了对具有不同浏览器内核的浏览器的兼容;并且,本发明的用于页面交互的方案可以采用统一接口实现,提高了开发人员开发插件的效率,并且速度快,节省系统资源。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1是根据本发明实施例一的一种用于页面交互的方法的步骤流程图;
图2是根据本发明实施例二的一种用于页面交互的方法的步骤流程图;
图3是根据本发明实施例三的一种用于页面交互的方法的步骤流程图;
图4是根据本发明实施例四的一种用于页面交互的装置的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
实施例一
参照图1,示出了根据本发明实施例一的一种用于页面交互的方法的步骤流程图。
本实施例的用于页面交互的方法包括以下步骤:
步骤S102:接受页面交互插件的调用指令。
该调用指令用于调用使用下述方法的接口、函数、文件、或组件,以获取页面交互插件与浏览器的交互时机。
步骤S104:判断页面交互插件所在的浏览器使用的浏览器内核的类型。
步骤S106:根据浏览器内核的类型,调用相应的交互时机获取接口获取页面交互插件与浏览器的页面进行交互的时机。
例如,当浏览器内核的类型为trident内核,则调用浏览器的Behavior接口;当浏览器内核的类型为webkit内核或者Gecko内核,则调用使用webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口等。
步骤S108:向页面交互插件通知交互时机获取接口返回的交互时机,以使页面交互插件与浏览器的页面之间进行交互。
如,可以将获得的交互时机提交给页面交互插件,再由页面交互插件根据该交互时机调用相应的交互接口或函数,进行页面交互插件与浏览器的页面交互,如填表等;也可以由使用本实施例方法的接口、函数、文件、或组件等,在获取到页面交互插件与浏览器的交互时机时,直接调用页面交互插件中的相关接口或函数,使页面交互插件与浏览器页面进行交互。
通过本实施例,在页面交互插件需要页面可交互时机时,通过统一格式的调用指令,本发明的方法接受页面交互插件的调用,并根据浏览器内核的类型调用与浏览器内核的相对应的交互时机获取接口,以获取页面交互插件与浏览器的页面之间进行交互的时机,从而进行页面交互插件和浏览器的页面交互。通过本实施例,无须采取轮询机制,通过调用内核中的相应的接口即可获取页面可交互时机,节省了资源,提高了效率,加快了页面可交互时机获取速度;针对不同浏览器内核调用不同的交互时机获取接口,实现了对具有不同浏览器内核的浏览器的兼容;并且,本实施例的用于页面交互的方案可以采用统一接口实现,提高了开发人员开发插件的效率,并且速度快,节省系统资源。
实施例二
参照图2,示出了根据本发明实施例二的一种用于页面交互的方法的步骤流程图。
本实施例中,获取页面交互插件与浏览器交互时机的方法以动态链接库DLL文件(或模块)形式实现,向页面交互插件提供调用接口,但不限于此,本领域技术人员应当明了,在实际应用中,本发明的用于页面交互的方法可以以任意适当形式实现,如浏览器组件形式、嵌入浏览器代码中的形式,等等。
本实施例的用于页面交互的方法包括以下步骤:
步骤S202:浏览器加载使用页面交互插件的网页。
步骤S204:页面交互插件向获取页面可交互时机的DLL文件提供的调用接口发送调用指令。
本实施例中,页面交互插件发送的调用指令包括页面元素参数和回调函数参数。其中,页面元素参数用于指示页面交互插件进行页面交互所需的页面元素(如表单等),回调函数参数用于指示执行页面交互插件与浏览器的页面之间的交互操作的回调函数。该回调函数为页面交互插件自身的函数,负责页面交互插件与浏览器的交互操作,页面交互插件告知DLL文件该回调函数的信息,或者向DLL文件注册该回调函数,以使DLL文件在页面可交互时机到来时,准确调用页面交互插件的该函数与浏览器进行页面交互。
步骤S206:获取页面可交互时机的DLL文件通过调用接口接受页面交互插件的调用指令。
包括接收调用指令中的页面元素参数和回调函数参数。
步骤S208:获取页面可交互时机的DLL文件判断页面交互插件所在的浏览器使用的浏览器内核的类型为trident内核,还是为webkit内核或者Gecko内核,若为trident内核,则执行步骤S210;若为webkit内核或者Gecko内核,则执行步骤S214。
本实施例仅以trident内核,以及webkit内核和Gecko内核为例,其中,trident内核可适用于IE浏览器,webkit内核或者Gecko内核可适用于Chrome浏览器、Safari浏览器、FireFox浏览器等,但本领域技术人员应当明了,上述内核仅为示例性说明,对于其它类型的内核均可参照本实施例,调用相应的浏览器的交互时机获取接口获取页面交互插件与浏览器的交互时机。
步骤S210:浏览器内核的类型为trident内核时,获取页面可交互时机的DLL文件调用使用trident内核的浏览器的Behavior接口,并将页面元素参数通知给Behavior接口。
优选地,本实施例中的Behavior接口包括IElementBehavior接口、IElementBehaviorFactory接口和IElementBehaviorSite接口。其中,IElementBehaviorFactory接口用于定位并调用获取页面可交互时机的DLL文件或者其它实现形式如浏览器组件;IElementBehavior接口用于在确定页面元素加载完成后返回页面交互插件与浏览器的页面可交互时机;IElementBehaviorSite接口用于浏览器与所述DLL文件或者其它实现形式如浏览器组件之间的通信。
步骤S212:获取页面可交互时机的DLL文件接收Behavior接口在确定页面元素参数指示的页面元素加载完成后返回的交互时机,执行步骤S218。
步骤S214:当浏览器内核的类型为webkit内核或者Gecko内核时,获取页面可交互时机的DLL文件调用使用webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口。
很多webkit内核或者Gecko内核的浏览器本身就支持页面可交互时机,具有可获取页面可交互时机的技术手段,如支持DOMContentLoaded事件。
步骤S216:获取页面可交互时机的DLL文件接收相应的交互时机获取接口返回的DOMContentLoaded事件的触发时机作为页面交互插件与浏览器的页面进行交互的时机,执行步骤S218。
其中,webkit内核或者Gecko内核的浏览器在DOM树建立完毕后,触发DOMContentLoaded事件。
步骤S218:获取页面可交互时机的DLL文件向页面交互插件通知交互时机获取接口返回的交互时机,以使页面交互插件与浏览器页面之间进行交互。
例如,获取页面可交互时机的DLL文件在接收到交互时机获取接口返回的交互时机时,调用回调函数参数指示的回调函数(该回调函数属于页面交互插件),通过回调函数使页面交互插件与浏览器的页面之间进行交互。
再例如,获取页面可交互时机的DLL文件接收到交互时机获取接口返回的交互时机,将该交互时机提交给页面交互插件,由页面交互插件自己调用其自身的回调函数,进而页面交互插件与浏览器的页面之间的交互。
通过本实施例,提供了统一的接口以获取页面可交互时机,进而页面交互插件与浏览器页面之间交互,针对不同的浏览器都能兼容,提高了开发人员开发插件的效率,并且速度快,节省系统资源。
实施例三
参照图3,示出了根据本发明实施例三的一种用于页面交互的方法的步骤流程图。
本实施例中,接受页面交互插件调用指令,获取页面可交互时机进而调用页面交互插件的函数进行交互的方法被封装为一个整体,这个整体可以是一个DLL文件,也可以是一个浏览器组件,也可以是嵌入浏览器代码中的一个函数,还可以是任意其它适当方式。为便于描述,本实施例中将该整体称为可交互时机获取组件。这个整体对外提供了RegistDOMReady接口,通过该接口接收调用指令和调用指令中的参数,将接收到的参数传递到整体中的处理部分进行处理,获取页面可交互时机,调用页面交互插件中的函数与浏览器页面之间进行交互。
本实施例的用于页面交互的方法包括以下步骤:
步骤S302:当页面交互插件需要与页面进行交互,需要获知页面可交互时机时,发送调用指令,调用可交互时机获取组件的RegistDOMReady接口。
RegistDOMReady接口是可交互时机获取组件对外提供的统一接口,通过该接口无需页面交互插件开发者自己设计获知页面可交互时机,无需考虑浏览器的内核。
RegistDOMReady接口有两个参数:页面元素参数即页面交互插件本身关心的页面元素,回调函数参数即页面交互插件自己注册的回调函数(也就是后文中的OnDomReady函数,该函数由页面交互插件实现,表示页面交互插件在获得页面可交互时机之后要做的事情,比如填表,保存图片等等,具体实现方法可由本领域技术人员参考相关技术实现,在此不再详述)。页面交互插件的调用指令中可以携带这两个参数,RegistDOMReady接口通过接收调用指令获得这两个参数。
步骤S304:接收到页面交互插件的调用指令后,可交互时机获取组件判断打开页面的浏览器内核的类型,若为trident内核,则执行步骤S306;若为webkit或Gecko内核,则执行步骤S308。
步骤S306:如果是trident内核(适用于IE浏览器),则调用Behavior接口获取页面可交互时机,向页面交互插件通知页面可交互时机以使页面交互插件和浏览器页面之间进行交互处理。
本实施例的可交互时机获取组件内部实现了Behavior接口,包括IElementBehavior接口、IElementBehaviorFactory接口、IElementBehaviorSite接口。以上三个接口由微软提供,本实施例只需要实现这些接口提供的方法即可。其中,IElementBehavior接口可以从下文的MSHTML中接收到通知,IElementBehaviorFactory提供了一种标准的机制,供下文的MSHTML可以定位到可交互时机获取组件,IElementBehaviorSite用于提供下文的MSHTML与可交互时机获取组件之间的通信。
在具体实现时,可交互时机获取组件在所有打开的页面头部写入以下CSS样式:
<STYLE>
BODY{behavior:url(#default#BehaviorReady);}
</STYLE>
页面交互插件需要与浏览器页面的什么元素进行交互,就要告诉可交互时机获取组件需要关心什么类型的元素。可交互时机获取组件就会在{behavior:url(#default#BehaviorReady);}前面写上什么元素。如BODY,INPUT,IMG等,这三项分别表示整个HTML页面的BODY元素,输入元素,图像元素。
以下以BODY为例,对可交互时机获取组件进行说明。
当MSHTML(IE内部的页面解析、渲染引擎)在解析页面发现上述CSS样式后,会到Software\Microsoft\Internet Explorer\Default Behavior找到可交互时机获取组件注册的COM对象,并加载起来。
当HTML的BODY标签解析完成后,可交互时机获取组件可以通过IElementBehavior接口收到BEHAVIOREVENT_CONTENTREADY事件,该事件标识着该HTML的BODY部分解析完成,也意味着页面可交互时机的到来。可交互时机获取组件回调页面交互插件之前注册的回调函数,由页面可交互插件进行后续的交互处理。
步骤S308:如果是webkit内核或Gecko内核(适用于Chrome浏览器,Safari浏览器和FireFox浏览器(Gecko内核)),则可交互时机获取组件调用可以返回页面可交互时机的接口,在DOMContentLoaded事件触发时调用回调函数,进行页面交互插件和浏览器页面的交互处理。
webkit内核或Gecko内核原生支持页面可交互时机。也就是DomContentLoaded事件到来的时机。
页面交互插件调用可交互时机获取组件提供的RegistDOMReady接口,传递页面元素参数即插件本身关心的页面元素,和回调函数参数即插件自己注册的回调函数。因webkit内核或Gecko内核本来就支持页面可交互时机,也就是支持DOMContentLoaded事件,可交互时机获取组件只需要在该事件到来时调用页面交互插件之前注册的回调函数即可实现页面交互插件和浏览器页面的交互。
本实施例中,以页面交互插件的回调函数为OnDOMReady函数为例,页面交互插件首先调用可交互时机获取组件,告诉可交互时机获取组件需要获得页面可交互时机,并且将自己的OnDomReady函数注册到可交互时机获取组件上。当可交互时机获取组件获知相应事件(如DOMContentLoaded事件或者BEHAVIOREVENT_CONTENTREADY事件)的触发,由此得知页面可交互时机,回调页面交互插件的对应函数,本实施例中为页面交互插件的OnDOMReady函数,从而实现页面交互,如通过OnDOMReady函数进行填表操作,或者进行保存图片操作等。
例如,当登录管家插件想要知道页面可交互时机,则调用本实施例的可交互时机获取组件的RegistDOMReady函数,并将OnDOMReady函数注册上(OnDOMReady函数由登录管家插件自身实现);可交互时机获取组件根据浏览器使用的是trident内核还是webkit内核来使用不同的接口获得页面可交互时机;当页面可交互时机到来时,可交互时机获取组件调用登录管家插件的OnDOMReady函数;登录管家的OnDOMReady函数用于实现填表等操作,当页面可交互时机到来时,执行OnDOMReady函数,进行填写表单的操作。
需要说明的是,本实施例的可交互时机获取组件可以实现为类库,即DLL,供浏览器来加载,由其提供的接口RegistDOMReady为导出函数,其他插件可以调用该导出函数来获知页面可交互时机。本实施例的可交互时机获取组件也可以实现为浏览器模块,供浏览器来加载,由其提供的接口RegistDOMReady为函数,其他插件可以调用该函数来获知页面可交互时机。使用DLL实现时页面交互插件不用修改大量的代码,只需要实现OnDomReady函数即可,使用的时候直接调用DLL即可;而使用可供浏览器加载的浏览器模块实现,则执行效率高。
通过本实施例,实现了获取页面可交互时机的统一接口,其针对不同的浏览器都能兼容,提高了开发人员开发插件的效率,并且速度快,节省系统资源,解决了现有技术在获取页面可交互时机时针对不同的浏览器不能兼容、效率低下、浪费系统资源等问题。并且,无须采取轮询机制,只需调用浏览器内核中的相应的接口即可,节省了资源。
实施例四
参照图4,示出了根据本发明实施例四的一种用于页面交互的装置的结构框图。
本实施例的用于页面交互的装置包括:第一调用模块402,用于接受页面交互插件的调用指令;判断页面交互插件所在的浏览器使用的浏览器内核的类型;第二调用模块404,用于根据浏览器内核的类型,调用相应的交互时机获取接口获取页面交互插件与浏览器的页面进行交互的时机;交互模块406,用于向页面交互插件通知交互时机获取接口返回的交互时机,以使页面交互插件与浏览器的页面之间进行交互。
优选地,页面交互插件的调用指令中包括:页面元素参数和回调函数参数,其中,页面元素参数用于指示页面交互插件进行页面交互所需的页面元素,回调函数参数用于指示执行页面交互插件与浏览器的页面之间的交互操作的回调函数。
优选地,第二调用模块404,用于若浏览器内核的类型为trident内核,则调用使用trident内核的浏览器的Behavior接口,并将页面元素参数通知给Behavior接口;接收Behavior接口在确定页面元素参数指示的页面元素加载完成后返回的交互时机;若浏览器内核的类型为webkit内核或者Gecko内核,则调用使用webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口,接收相应的交互时机获取接口返回的DOMContentLoaded事件的触发时机作为页面交互插件与浏览器的页面进行交互的时机。
优选地,交互模块406,用于在接收到交互时机获取接口返回的交互时机时,调用回调函数参数指示的回调函数,通过回调函数使页面交互插件与浏览器的页面之间进行交互。
优选地,本实施例的用于页面交互的装置由动态链接库对应的装置或者浏览器组件对应的装置实现。
优选地,Behavior接口包括IElementBehavior接口、IElementBehaviorFactory接口和IElementBehaviorSite接口;其中,IElementBehaviorFactory接口用于定位并调用动态链接库或浏览器组件;IElementBehavior接口用于在确定页面元素加载完成后返回交互时机;IElementBehaviorSite接口用于浏览器与动态链接库或浏览器组件之间的通信。
本实施例的用于页面交互的装置用于实现前述多个方法实施例中相应的用于页面交互的方法,并具有相应的方法实施例的有益效果,在此不再赘述。
在此提供的用于页面交互的方案不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造具有本发明方案的系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的用于页面交互的方案中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

Claims (10)

1.一种用于页面交互的方法,包括:
接受页面交互插件的调用指令;
判断所述页面交互插件所在的浏览器使用的浏览器内核的类型;
根据所述浏览器内核的类型,调用相应的交互时机获取接口获取所述页面交互插件与所述浏览器的页面进行交互的时机;
向所述页面交互插件通知所述交互时机获取接口返回的交互时机,以使所述页面交互插件与所述浏览器的页面之间进行交互;
其中,所述页面交互插件的调用指令中包括:页面元素参数和回调函数参数,其中,所述页面元素参数用于指示所述页面交互插件进行页面交互所需的页面元素,所述回调函数参数用于指示执行所述页面交互插件与所述浏览器的页面之间的交互操作的回调函数。
2.根据权利要求1所述的方法,其中,所述根据所述浏览器内核的类型,调用相应的交互时机获取接口获取所述页面交互插件与所述浏览器的页面进行交互的时机的步骤包括:
若所述浏览器内核的类型为trident内核,则调用使用所述trident内核的浏览器的Behavior接口,并将所述页面元素参数通知给所述Behavior接口;接收所述Behavior接口在确定所述页面元素参数指示的页面元素加载完成后返回的交互时机;
若所述浏览器内核的类型为webkit内核或者Gecko内核,则调用使用所述webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口,接收所述相应的交互时机获取接口返回的DOMContentLoaded事件的触发时机作为所述页面交互插件与所述浏览器的页面进行交互的时机。
3.根据权利要求1所述的方法,其中,向所述页面交互插件通知所述交互时机获取接口返回的交互时机,以使所述页面交互插件与所述浏览器的页面之间进行交互的步骤包括:
在接收到所述交互时机获取接口返回的交互时机时,调用所述回调函数参数指示的回调函数,通过所述回调函数使所述页面交互插件与所述浏览器的页面之间进行交互。
4.根据权利要求2或3所述的方法,其中,所述方法由动态链接库或者浏览器组件实现。
5.根据权利要求4所述的方法,其中,所述Behavior接口包括IElementBehavior接口、IElementBehaviorFactory接口和IElementBehaviorSite接口;其中,所述IElementBehaviorFactory接口用于定位并调用所述动态链接库或所述浏览器组件;所述IElementBehavior接口用于在确定所述页面元素加载完成后返回所述交互时机;所述IElementBehaviorSite接口用于所述浏览器与所述动态链接库或所述浏览器组件之间的通信。
6.一种用于页面交互的装置,包括:
第一调用模块,用于接受页面交互插件的调用指令;判断所述页面交互插件所在的浏览器使用的浏览器内核的类型;
第二调用模块,用于根据所述浏览器内核的类型,调用相应的交互时机获取接口获取所述页面交互插件与所述浏览器的页面进行交互的时机;
交互模块,用于向所述页面交互插件通知所述交互时机获取接口返回的交互时机,以使所述页面交互插件与所述浏览器的页面之间进行交互;
其中,所述页面交互插件的调用指令中包括:页面元素参数和回调函数参数,其中,所述页面元素参数用于指示所述页面交互插件进行页面交互所需的页面元素,所述回调函数参数用于指示执行所述页面交互插件与所述浏览器的页面之间的交互操作的回调函数。
7.根据权利要求6所述的装置,其中,所述第二调用模块,用于若所述浏览器内核的类型为trident内核,则调用使用所述trident内核的浏览器的Behavior接口,并将所述页面元素参数通知给所述Behavior接口;接收所述Behavior接口在确定所述页面元素参数指示的页面元素加载完成后返回的交互时机;若所述浏览器内核的类型为webkit内核或者Gecko内核,则调用使用所述webkit内核或者Gecko内核的浏览器中相应的交互时机获取接口,接收所述相应的交互时机获取接口返回的DOMContentLoaded事件的触发时机作为所述页面交互插件与所述浏览器的页面进行交互的时机。
8.根据权利要求6所述的装置,其中,所述交互模块,用于在接收到所述交互时机获取接口返回的交互时机时,调用所述回调函数参数指示的回调函数,通过所述回调函数使所述页面交互插件与所述浏览器的页面之间进行交互。
9.根据权利要求7或8所述的装置,其中,所述装置由动态链接库对应的装置或者浏览器组件对应的装置实现。
10.根据权利要求9所述的装置,其中,所述Behavior接口包括IElementBehavior接口、IElementBehaviorFactory接口和IElementBehaviorSite接口;其中,所述IElementBehaviorFactory接口用于定位并调用所述动态链接库或所述浏览器组件;所述IElementBehavior接口用于在确定所述页面元素加载完成后返回所述交互时机;所述IElementBehaviorSite接口用于所述浏览器与所述动态链接库或所述浏览器组件之间的通信。
CN201210506628.XA 2012-11-30 2012-11-30 一种用于页面交互的方法与装置 Expired - Fee Related CN103019817B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210506628.XA CN103019817B (zh) 2012-11-30 2012-11-30 一种用于页面交互的方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210506628.XA CN103019817B (zh) 2012-11-30 2012-11-30 一种用于页面交互的方法与装置

Publications (2)

Publication Number Publication Date
CN103019817A true CN103019817A (zh) 2013-04-03
CN103019817B CN103019817B (zh) 2015-10-14

Family

ID=47968448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210506628.XA Expired - Fee Related CN103019817B (zh) 2012-11-30 2012-11-30 一种用于页面交互的方法与装置

Country Status (1)

Country Link
CN (1) CN103019817B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197972A (zh) * 2013-04-28 2013-07-10 北京奇虎科技有限公司 浏览器插件的管理方法及装置、浏览器与插件的交互系统
CN103226474A (zh) * 2013-05-10 2013-07-31 北京奇虎科技有限公司 网页脚本与浏览器程序之间的交互方法、装置及系统
CN103546476A (zh) * 2013-10-30 2014-01-29 北京华胜天成科技股份有限公司 页面组件之间的消息传递方法及系统
CN105740055A (zh) * 2014-12-09 2016-07-06 陈灿林 全屏程序中使用第三方网页浏览器
CN105812949A (zh) * 2016-03-14 2016-07-27 烽火通信科技股份有限公司 一种基于锁屏模式的epg页面自适应切换的方法
WO2016177341A1 (zh) * 2015-05-07 2016-11-10 北京金山安全软件有限公司 接口调用方法、装置及终端
CN108279888A (zh) * 2017-12-19 2018-07-13 中国电子科技集团公司第三十研究所 一种支持多款浏览器的插件实现方法
CN109343975A (zh) * 2018-09-21 2019-02-15 百度在线网络技术(北京)有限公司 用于页面间异步通信的方法和装置
CN110806892A (zh) * 2019-09-27 2020-02-18 云深互联(北京)科技有限公司 浏览器参数的配置方法、装置及设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010027464A1 (en) * 2000-03-27 2001-10-04 General Instrument Corporation Operating system abstraction interface for broadband terminal platform firmware
US6430568B1 (en) * 1998-07-22 2002-08-06 Hewlett-Packard Company Methods and systems for java inter-applet communication
CN101655863A (zh) * 2009-04-24 2010-02-24 北京搜狗科技发展有限公司 在浏览器中加载网页的方法及浏览器
CN101964791A (zh) * 2010-09-27 2011-02-02 北京神州泰岳软件股份有限公司 客户端与web应用的通讯认证系统及认证方法
CN102375951A (zh) * 2011-10-18 2012-03-14 北龙中网(北京)科技有限责任公司 网页安全检测方法和系统
CN102591724A (zh) * 2011-12-28 2012-07-18 奇智软件(北京)有限公司 消息交互方法及装置
CN102662837A (zh) * 2012-03-29 2012-09-12 奇智软件(北京)有限公司 一种浏览器的测试方法和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6430568B1 (en) * 1998-07-22 2002-08-06 Hewlett-Packard Company Methods and systems for java inter-applet communication
US20010027464A1 (en) * 2000-03-27 2001-10-04 General Instrument Corporation Operating system abstraction interface for broadband terminal platform firmware
CN101655863A (zh) * 2009-04-24 2010-02-24 北京搜狗科技发展有限公司 在浏览器中加载网页的方法及浏览器
CN101964791A (zh) * 2010-09-27 2011-02-02 北京神州泰岳软件股份有限公司 客户端与web应用的通讯认证系统及认证方法
CN102375951A (zh) * 2011-10-18 2012-03-14 北龙中网(北京)科技有限责任公司 网页安全检测方法和系统
CN102591724A (zh) * 2011-12-28 2012-07-18 奇智软件(北京)有限公司 消息交互方法及装置
CN102662837A (zh) * 2012-03-29 2012-09-12 奇智软件(北京)有限公司 一种浏览器的测试方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
汪诗林,吴泉源: "一个通用的、用于浏览私有媒体的WWW浏览器插件的设计与实现", 《计算机工程》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103197972A (zh) * 2013-04-28 2013-07-10 北京奇虎科技有限公司 浏览器插件的管理方法及装置、浏览器与插件的交互系统
CN103226474A (zh) * 2013-05-10 2013-07-31 北京奇虎科技有限公司 网页脚本与浏览器程序之间的交互方法、装置及系统
CN103226474B (zh) * 2013-05-10 2016-09-28 北京奇虎科技有限公司 网页脚本与浏览器程序之间的交互方法、装置及系统
CN103546476A (zh) * 2013-10-30 2014-01-29 北京华胜天成科技股份有限公司 页面组件之间的消息传递方法及系统
CN105740055A (zh) * 2014-12-09 2016-07-06 陈灿林 全屏程序中使用第三方网页浏览器
WO2016177341A1 (zh) * 2015-05-07 2016-11-10 北京金山安全软件有限公司 接口调用方法、装置及终端
CN105812949A (zh) * 2016-03-14 2016-07-27 烽火通信科技股份有限公司 一种基于锁屏模式的epg页面自适应切换的方法
CN108279888A (zh) * 2017-12-19 2018-07-13 中国电子科技集团公司第三十研究所 一种支持多款浏览器的插件实现方法
CN109343975A (zh) * 2018-09-21 2019-02-15 百度在线网络技术(北京)有限公司 用于页面间异步通信的方法和装置
CN109343975B (zh) * 2018-09-21 2022-11-11 百度在线网络技术(北京)有限公司 用于页面间异步通信的方法和装置
CN110806892A (zh) * 2019-09-27 2020-02-18 云深互联(北京)科技有限公司 浏览器参数的配置方法、装置及设备

Also Published As

Publication number Publication date
CN103019817B (zh) 2015-10-14

Similar Documents

Publication Publication Date Title
CN103019817A (zh) 一种用于页面交互的方法与装置
CN107688529B (zh) 组件调试方法和装置
CN103019818A (zh) 页面交互方法与装置
CN102982169A (zh) 用于隔离网页插件的浏览器和方法
CN101876897A (zh) 用于在Web浏览器上处理Widget的系统和方法
CN103500194A (zh) 一种进行网页加载的方法、装置和浏览器
CN102999578A (zh) 页面元素处理方法和装置
CN105630524B (zh) 网页文本解析方法、装置和移动终端
CN102981844B (zh) 对网页主体元素进行处理的浏览器及方法
WO2011076505A2 (en) Improving performance of template based javascript widgets
CN102999579B (zh) 页面文本框处理浏览器和页面文本框元素处理方法
CN103019538A (zh) 一种在终端中实现应用界面的方法和系统
CN102981848A (zh) 网页主体元素处理浏览器和方法
CN111813385B (zh) 一种基于Web应用的页面插件化方法、装置及设备
CN102999336A (zh) 应用界面实现方法和系统
CN113419729B (zh) 基于组件化的前端页面搭建方法、装置、设备及存储介质
CN103164541A (zh) 图片呈现方法及设备
CN103530329A (zh) 一种进行网页加载的方法、装置和浏览器
CN103226474A (zh) 网页脚本与浏览器程序之间的交互方法、装置及系统
CN102981845A (zh) 浏览器进行页面元素处理的方法及装置
CN102981846A (zh) 对密码输入框元素进行处理的方法及浏览器
CN112835809A (zh) 一种基于浏览器的测试数据设置方法、装置、设备及介质
CN106371987A (zh) 测试方法和装置
CN102981847A (zh) 对页面文本框进行处理的浏览器及方法
CN103544271A (zh) 一种浏览器中加载图片处理窗口的方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20220725

Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015

Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park)

Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd.

Patentee before: Qizhi software (Beijing) Co.,Ltd.

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20151014