一种活动对象创建方法、装置及浏览器制造方法及图纸

技术编号:8655790 阅读:172 留言:0更新日期:2013-05-01 23:25
本发明专利技术公开了一种活动对象创建方法、装置及浏览器。其中根据本发明专利技术的一个方面提供的活动对象创建装置包括:阻止模块,适于在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或者通过对活动对象的属性进行修改,阻止执行活动对象实现的功能;执行模块,适于根据用户发起的执行所述活动对象实现的功能的请求,通过取消拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行再修改,继续执行所述活动对象实现的功能。采用本发明专利技术的技术方案,避免了不必要的插件播放造成用户资源的浪费,节省了电力、带宽和系统资源。同时,在用户有需要重新要求执行活动对象实现的功能时,无需刷新页面,实现了活动对象实现的功能的即点即执行。

【技术实现步骤摘要】

本专利技术涉及计算机网络
,具体涉及一种活动对象创建方法、装置及浏览器
技术介绍
ActiveX插件以前也叫做0LE(0bject Linking and Embedding,对象链接与嵌入)控件或OCX (OLE Control extension,对象类别扩充)控件,它是一些软件组件或对象,可以将其嵌入到WEB网页或其它应用程序中。当在浏览器中加载ActiveX插件时,也可称该ActiveX插件为活动对象。如果ActiveX插件被嵌入到网页中,在用户打开网页时,会自动触发ActiveX插件的加载和播放。目前,很多网页上都嵌入有各种音视频插件,例如Flash插件,其内容可能是一些广告或用户并不关心的内容。只要用户打开网页就会在第一时间自动加载播放这些Flash内容。对于用户来说,这种不必要的插件播放造成了用户资源的浪费,例如浪费电力、带宽和系统资源,而且还延长了页面打开时间。现有技术提供了一种拦截Flash创建的方法,使用自带的swf,替换需要创建的Flash来实现,swf是Flash本地的一种支持矢量和点阵图形的动画文件格式。但是由于在页面的创建过程中可能需要与Flash进行交互,如果将Flash替换为swf,则因无法完成交互而无法创建Flash。当用户需要重新播放Flash时,必须刷新页面,重新创建Flash才能进行播放。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的活动对象创建方法和相应的活动对象创建装置及浏览器。根据本专利技术的一个方面,提供了另一种活动对象创建方法,包括在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行修改,阻止执行所述活动对象实现的功能;根据用户发起的执行所述活动对象实现的功能的请求,通过取消拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行再修改,继续执行所述活动对象实现的功能。根据本专利技术的另一方面,提供了另一种活动对象创建装置,包括阻止模块,适于在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行修改,阻止执行所述活动对象实现的功能;执行模块,适于根据用户发起的执行所述活动对象实现的功能的请求,通过取消拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行再修改,继续执行所述活动对象实现的功能。根据本专利技术的再一方面,提供了一种包括上述活动对象创建装置的浏览器。根据本专利技术的一个方面提供的方案,在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或对活动对象的属性进行修改,阻止执行活动对象实现的功能;在用户发起执行活动对象实现的功能的请求后,通过取消拦截线程消息循环中的定时消息或对活动对象的属性进行再修改,继续执行活动对象实现的功能。与现有技术相比,避免了不必要的插件播放造成用户资源的浪费,节省了电力、带宽和系统资源。同时,在用户有需要重新要求执行活动对象实现的功能时,无需刷新页面,实现了活动对象实现的功能的即点即执行。根据本专利技术的一个方面提供的方案,在浏览器的页面进程创建活动对象之前,默认阻止创建该活动对象;在用户发起执行活动对象实现的功能的请求后,继续创建活动对象,并在活动对象创建完成后,执行活动对象实现的功能。与现有技术相比,避免了不必要的插件播放造成用户资源的浪费,节省了电力、带宽和系统资源。同时,在用户有需要重新要求执行活动对象实现的功能时,无需刷新页面,实现了活动对象实现的功能的即点即执行。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图1示出了根据本专利技术第一个实施例的活动对象创建方法的流程图;图2示出了根据本专利技术第二个实施例的活动对象创建方法的流程图;图3示出了根据本专利技术第三个实施例的活动对象创建方法的流程图;图4示出了根据本专利技术第四个实施例的活动对象创建方法的流程图;图5示出了根据本专利技术第五个实施例的活动对象创建装置的结构框图;图6示出了根据本专利技术第六个实施例的活动对象创建装置的结构框图;图7示出了根据本专利技术第七个实施例的活动对象创建装置的结构框图;图8示出了根据本专利技术第八个实施例的活动对象创建装置的结构框图。具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。在以下几个实施例中,以创建Flash插件为例进行说明,但本专利技术不仅限于是Flash插件,还可以是其它ActiveX插件,如百度影音、QVOD (快播)等插件。图1示出了根据本专利技术第一个实施例的活动对象创建方法100的流程图。如图1所示,方法100始于步骤S101,其中在浏览器的页面进程创建Flash插件之前,阻止创建该Flash插件。具体来说,在页面中有Flash插件的情况下,浏览器的页面进程通过CLSIDFromProgID方法获取Flash插件的类标识(CLSID)或者组件的字符串标识符(ProgID),按照现有流程,随后页面进程根据Flash插件的CLSID或ProgID查询注册表,用以查看系统是否已安装该插件,若查看已安装该插件则进一步创建该Flash插件。但本方法与现有流程不同的是,在获取CLSID或ProgID后,判断其是否为Flash插件的CLSID或ProgID,若是则停止执行查询注册表的动作,这样该Flash插件就不会被创建。需要说明的是,停止执行查询注册表的动作是阻止创建Flash插件的一种可选的实施方式,本方法也可在查询注册表确认已安装Flash插件之后,阻止进一步创建该Flash插件。通过本步骤,虽然页面中有Flash插件,但在页面打开后由于阻止创建该Flash插件,页面中并不会播放对应的Flash内容。随后,方法100进入步骤S102,其中根据用户发起的执行Flash插件功能的请求,继续创建Flash插件,在创建完成后执行Flash插件的功能,即播放对应的Flash内容。在页面打开后,如果用户想要观看Flash内容,可以点击播放Flash,页面进程收到用户点击播放Flash的请求,不再阻止Flash插件的创建,继续创建Flash插件。以之前停止执行查询注册表的动作为例,页面进程根据Flash插件的CLSID或ProgID继续执行查询注册表的操作,用以查看系统是否已安装该插件,若查看已安装该插件则进一步创建该Flash插件。在Flash插件创建完成后,按照默认的属性就会播放对应的Flash内容,由此实现了 Flash插件对应的Flash内容的即点即播。根据本实施例提供的活动对象创建方法,在浏览器的页面进程创建Flash插件之前,默认阻止创建该F本文档来自技高网...

【技术保护点】
一种活动对象创建方法,包括:在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行修改,阻止执行所述活动对象实现的功能;根据用户发起的执行所述活动对象实现的功能的请求,通过取消拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行再修改,继续执行所述活动对象实现的功能。

【技术特征摘要】
1.一种活动对象创建方法,包括: 在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行修改,阻止执行所述活动对象实现的功能; 根据用户发起的执行所述活动对象实现的功能的请求,通过取消拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行再修改,继续执行所述活动对象实现的功倉泛。2.根据权利要求1所述的方法,在所述浏览器创建活动对象之前还包括:截获浏览器的页面进程加载活动对象的操作,在浏览器的页面进程创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行; 所述浏览器创建活动对象的过程具体为:在独立于所述浏览器的页面进程的独立进程中创建所述活动对象; 所述继续执行所述活动对象实现的功能的步骤具体为:通过代理对象与独立进程通信调用活动对象,和/或,代理对象与独立进程通信被活动对象调用,执行所述活动对象实现的功能。3.根据权利要求1或2所述的方法,所述定时消息为0x401消息。4.根据权利要求1或2所述的方法,所述对活动对象的属性进行修改的步骤包括:获取所述活动对象的接口指针;根据接口指针查找记录所述活动对象的属性的函数,调用该函数对所述活动对象的属性进行修改。5.根据权利要求1所述的方法,在所述继续执行所述活动对象实现的功能的步骤之前包括:拦截所述活动对象的绘制函数,调用自定义的绘制函数绘制自定义界面,在所述浏览器的指定位置显示所述自定义界面。6.根据权利要求2所述的方法,在所述继续执行所述活动对象实现的功能的步骤之前包括: 在所述独立进程中拦截活动对象的绘制函数,调用自定义的绘制函数绘制自定义界面,通过代理对象与独立进程通信调用活动对象,在所述浏览器的指定位置显示所述自定义界面; 或者,在所述页面进程中拦截代理对象与独立进程通信调用活动对象的动作,调用自定义的绘制函数绘制自定义界面,在所述浏览器的指定位置显示所述自定义界面。7.一种活动对象创建装置,包括: 阻止模块,适于在浏览器创建活动对象之后,通过拦截线程消息循环中的定时消息或者通过对所述活动对象的属性进行修改,阻止执行所述活动对象实现的功能; 执行模块,适于根据用户发起的执行所述活动对象实现的功能...

【专利技术属性】
技术研发人员:李锦伟贺跃松陈志付俣任寰
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1