一种获取网页插件数据的系统和方法

文档序号:6638300阅读:395来源:国知局
专利名称:一种获取网页插件数据的系统和方法
技术领域
本发明是一种在浏览器上使用鼠标获得ActiveX控件的地址的方法,ActiveX控件的类型可以是Flash控件、Windows Media Player控件、或者RealPlayer控件。
背景技术
在传统的浏览器网页浏览中,通常会有多种网页的插件,比如Flash插件、Windows Media Player插件和RealPlayer插件等。用户一般仅可以通过这些插件本身的操作方式和插件进行交互式操作,比如播放Flash,观看Windows Media Player插件所指定的内容等。用户如果想下载这些插件的对象地址,比如Flash文件,Windows Media Player对应的多媒体文件或者流媒体文件,一般来说比较困难。常用的方法是查看网页页面的源代码(Source Code)来获得这些插件所对应的网址。

发明内容
本发明是一种在使用微软浏览器Internet Explorer浏览网页时,使用鼠标事件方便地获得网页中ActiveX控件的对象地址的方法。
使用本发明,用户在使用Internet Explorer浏览器浏览网页时,如果网页中有ActiveX控件,比如Flash控件、Windows Media Player控件、RealPlayer控件,当鼠标点击或者在ActiveX控件的区域中移动时,利用已经为Internet Explorer安装的BHO,可以获得鼠标位置的控件类型和控件对象的地址。
对获得的控件对象的地址,可以执行多种类型的操作,比如把对象地址复制到剪贴板上、启动下载程序下载对象地址所制定的文件或者流数据(Streaming Media)等等。
本发明的具体实施方案是
用户为Internet Explorer浏览器安装浏览器辅助对象(BHO),该BHO注册了对于鼠标事件的回调接口。通过该回调,可以获得鼠标位置处ActiveX控件的控件类型和控件对象的地址。
用户在浏览页面时,如果页面上有ActiveX控件,把鼠标移动到ActiveX控件的区域内或者用鼠标点击ActiveX控件。这时鼠标事件触发BHO的回调。由BHO获得鼠标位置处ActiveX控件的类型和控件对象的地址。
由BHO显示用户操作界面,接受用户输入,并对获得的ActiveX控件的对象地址进行操作。
一种典型的用户界面是,在鼠标位置处或者控件附近显示用户操作的浮动条,点击浮动条上的控件可以完成拷贝ActiveX控件对象的地址到剪贴板,或者下载ActiveX控件对象的地址所指定文件或者流媒体数据到本地。
本发明简化了下载这些插件对象地址的方法,用户只需要把鼠标移动到页面显示的控件区域,比如Flash动画区域内,便可以在鼠标位置或者某特定位置显示用户界面,通过对界面的操作可以完成许多复杂的功能,比如下载插件网址的内容、复制插件网址的内容等。


图1是系统本系统架构图,显示了浏览器辅助对象、浏览器、网页和插件的关系。
图2获取插件对象地址地址方法1,一种遍历ActiveX控件获得控件对象地址地址的流程图。
图3获取插件对象地址地址方法2,一种直接利用BHO获得控件对象地址地址的流程图。
具体实施例方式
以下对本发明的的描述提供了多种实现方法,或者例子,来描述各种实现的特征。所描述的特殊的例子是为了简化本发明的表现。它们仅仅是例子,但是不仅仅限于这些例子。另外,描述中可能重复引用各种例子中的数字和字母,这种重复只是为了简明扼要,并不表示各种体现或者配置的关系。
图1是本发明的基本架构图。其中103是微软Windows下的浏览器Internet Explorer。浏览器在浏览页面102时,如果页面中有ActiveX控件101并且浏览器设置的安全级别允许ActiveX控件运行,是本发明的运行环境基础。
Internet Explorer浏览器在启动时自动载入浏览器辅助对象(BHO)105。BHO是实现了特定接口的COM组件。开发好的BHO插件在注册表特定的位置注册好后,每当微软的浏览器启动,BHO实例就会被创建。在浏览器工作的工程中,BHO会接收到浏览器的很多事件,比如浏览器浏览新的地址、生成新的窗口、浏览器退出等等;BHO可以在这些事件的响应中实现与浏览器的交互。在本发明中,BHO接收和处理的事件是鼠标事件,比如鼠标的移动事件和鼠标的点击事件。
实现本发明必须给Internet Explorer浏览器安装特定的BHO。在该BHO中,响应鼠标的事件,并对鼠标事件做出处理。如果鼠标事件在浏览器网页上的ActiveX控件显示的区域发生,则可以使用BHO获得被触发的ActiveX控件的控件类型和控件的对象地址。
结合鼠标事件和BHO获得页面内控件类型和控件对象地址的方法有许多,下面列出两种,一种是通过遍历页面的元素获得控件信息,另外一种是直接从BHO注册对鼠标事件的回调接口获得控件信息。
图2是通过遍历页面元素获得控件信息的方法的流程图。当有鼠标事件202发生时,通过鼠标所在的位置,以及页面内各种ActiveX控件的位置判断出鼠标所在位置的ActiveX控件。
IE浏览器,采用DOM(文档对象模型)来管理网页的数据。它通过一个容器(IWebBrowser2/IHTMLWindow2)来装载网页文档(IHTMLDocument2),而一个文档,又可以由一个或多个帧(frame)组成,管理这些帧的接口叫“框架集合(IHTMLFramesCollection2)”,而每个帧的容器又是IHTMLWindow2,和IWebBrowser2一样,它也装载着各自的文档(IHTMLDocument2)。遍历页面中的所有元素,包含了遍历页面中的所有帧。
接下来判断该ActiveX控件的类型是否是感兴趣的类型(步骤206),如果不是则返回。如果是则获得控件对象的地址(步骤208)。根据鼠标事件信息和控件的位置信息,可以显示用户界面,并对控件的内容地址进行操作,比如启用下载软件下载、把对象地址拷贝到剪贴板、对控件进行操作等。
图3是直接利用BHO获得控件对象地址地址的流程图。在BHO中必须对所有的Document对象注册对鼠标事件的回调接口(步骤301),然后BHO进入对鼠标事件的循环处理过程中,一旦有鼠标事件发生(步骤302),则可以从BHO的回调接口中获得触发的对象(步骤304),然后判断该对象是否是感兴趣的ActiveX控件类型,如果不是,则等待下一个鼠标事件,如果是,则进一步获取控件对象的地址(步骤308),然后根据鼠标事件和控件信息创建用户界面,接受用户输入,对获得的控件对象的地址进行处理。
权利要求
1.一种通过浏览器辅助对象(Browser Helper Object)获得网页插件的插件类型和插件对象地址的方法,其特征在于,它包含了对浏览器Internet Explorer安装浏览器辅助对象,鼠标事件触发Internet Explorer浏览器向浏览器辅助对象发出该鼠标事件,由浏览器辅助对象获得触发该鼠标事件的ActiveX控件及ActiveX控件的类型和ActiveX控件的对象地址。
2.如权利要求1所述的方法,其特征在于,鼠标事件是鼠标的移动事件。
3.如权利要求1所述的方法,其特征在于,在ActiveX控件被触发后,获得ActiveX控件对象的地址。
4.如权利要求1所述的方法,其特征在于,使用鼠标位置和浏览器页面中各元素的位置信息,获得浏览器页面上鼠标位置出的ActiveX控件的控件类型和控件对象的地址。
5.如权利要求1所述的方法,其特征在于,使用浏览器辅助对象的回调获得浏览器页面上鼠标位置出的ActiveX控件的控件类型和控件对象的地址。
6.一种通过浏览器辅助对象(BHO)获得网页插件的插件类型和插件对象地址的系统,其特征在于,它包含了Internet Explorer浏览器的浏览器辅助对象(BHO),它注册了网页文档对于鼠标事件的回调接口,该回调接口在有鼠标事件发生时被触发,在回调中获得浏览器显示页面在鼠标位置处的ActiveX控件的控件类型和控件对象的地址。
7.如权利要求6所述的系统,其特征在于,使用鼠标位置和浏览器页面中各元素的位置信息,获得浏览器页面上鼠标位置出的ActiveX控件的控件类型和控件对象的地址。
8.如权利要求6所述的系统,其特征在于,使用浏览器辅助对象的回调接口获得浏览器页面上鼠标位置出的ActiveX控件的控件类型和控件对象的地址。
全文摘要
一种通过浏览器辅助对象(BHO)获得浏览器网页中ActiveX类型和插件对象地址的方法和系统。对浏览器安装BHO,当有鼠标事件发生时,通过BHO获取被触发的ActiveX控件,如果插件是某些特定的插件类型,则获得插件对象的地址,并对该地址做出相应的处理。
文档编号G06F3/033GK1920770SQ20051009304
公开日2007年2月28日 申请日期2005年8月25日 优先权日2005年8月25日
发明者方汉, 李振春 申请人:千橡世纪科技发展(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1