CN102314510A - 一种浏览器控件执行方法及系统 - Google Patents

一种浏览器控件执行方法及系统 Download PDF

Info

Publication number
CN102314510A
CN102314510A CN201110274460A CN201110274460A CN102314510A CN 102314510 A CN102314510 A CN 102314510A CN 201110274460 A CN201110274460 A CN 201110274460A CN 201110274460 A CN201110274460 A CN 201110274460A CN 102314510 A CN102314510 A CN 102314510A
Authority
CN
China
Prior art keywords
page
thread
agent
moving object
detached
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.)
Pending
Application number
CN201110274460A
Other languages
English (en)
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.)
Qizhi Software Beijing Co Ltd
Original Assignee
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 Qizhi Software Beijing Co Ltd filed Critical Qizhi Software Beijing Co Ltd
Priority to CN201110274460A priority Critical patent/CN102314510A/zh
Publication of CN102314510A publication Critical patent/CN102314510A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本申请提供了一种浏览器控件执行方法及系统,以解决浏览器控件影响浏览器的稳定性和安全性的问题。通过在页面进程中运行代理对象,而在独立进程中运行活动对象,使得真实的浏览器控件,例如真实的ActiveX控件与页面进程分离,从而使浏览器控件出现问题时不会影响嵌入浏览器控件的浏览器进程,即浏览器控件出现问题时不会影响页面进程,从而提高了浏览器的稳定性。同时,当浏览器控件出现病毒等安全性的问题时,由于浏览器控件与页面进程分离,不会影响页面进程的运行,从而也提高了浏览器的安全性。

Description

一种浏览器控件执行方法及系统
技术领域
本申请涉及计算机技术领域,特别是涉及一种浏览器控件执行方法及系统。
背景技术
在打开浏览器时浏览器的页面进程会创建活动对象,而后进行页面的各项操作,所述活动对象通常指浏览器的控件,例如ActiveX控件。
ActiveX控件是微软公司的IE内核浏览器支持的一种增强浏览体验的扩展接口方式,代表性的控件有Flash、QVod等。ActiveX控件是一种可重用的软件组件,通过使用ActiveX控件,可以很快地在网址、台式应用程序、以及开发工具中加入特殊的功能。如StockTicker控件可以用来在网页上即时地加入活动信息,动画控件可用来向网页中加入动画特性。
ActiveX控件在IE浏览器的页面进程中运行时,由于ActiveX控件数量繁多,运行环境复杂,以及ActiveX控件的开放性,导致了ActiveX控件平均质量较差,一旦出了问题,会导致用户的IE浏览器不能使用,或者出现严重的安全问题。所以ActiveX控件普遍存在稳定性和安全性上的不足。微软公布的影响IE浏览器稳定性的10大原因中,绝大多数都是由于ActiveX控件导致的。
有上述可知,浏览器常常会受到浏览器控件的影响,出现稳定性和安全性的问题。
发明内容
本申请提供了一种浏览器控件执行方法及系统,以解决浏览器控件影响浏览器的稳定性和安全性的问题。
为解决上述问题,本申请公开了一种浏览器控件执行方法,包括:
截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;
在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;
代理对象通过与独立进程通信,调用活动对象,和/或,
代理对象通过与独立进程通信,被活动对象调用。
优选的,所述代理对象通过与独立进程通信,调用活动对象,包括:
将代理对象放入真实容器中,并将活动对象放入模拟容器中;
页面进程运行真实容器中的代理对象,并通知代理对象要执行的操作;
代理对象通过与独立进程通信通知独立进程所述要执行的操作;
独立进程调用并运行模拟容器中的活动对象,执行所述要执行的操作并反馈给代理对象。
优选的,所述代理对象通过与独立进程通信,被活动对象调用,包括:
将代理对象放入真实容器中,并将活动对象放入模拟容器中;
独立进程运行模拟容器中的活动对象,并通知独立进程要实现的功能;
独立进程通过与代理对象通信通知代理对象所述要实现的功能;
真实容器中的代理对象在页面进程中被调用并运行,实现所述要实现的功能并反馈给活动对象。
优选的,所述的方法,还包括:
页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;
独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;
代理对象通过与对象线程通信,调用活动对象,和/或,
代理对象通过与对象线程通信,被活动对象调用。
优选的,当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。
优选的,所述的方法还包括:
独立进程创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;
独立进程创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
优选的,所述独立进程为每个页面创建一个对象线程,包括:
独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。
优选的,所述代理对象与活动对象通过同步或异步方式实现调用。
优选的,所述活动对象包括ActiveX对象。
相应的,本申请还提供了一种浏览器控件执行系统,包括:
页面进程模块,用于截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;
独立进程模块,用于在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;
调用模块,用于代理对象通过与独立进程通信,调用活动对象,和/或,用于代理对象通过与独立进程通信,被活动对象调用。
优选的,所述调用模块,包括:
第一对象放入容器子模块,用于将代理对象放入真实容器中,并将活动对象放入模拟容器中;
第一代理对象运行子模块,用于页面进程运行真实容器中的代理对象,并通知代理对象要执行的操作;
第一通信子模块,用于代理对象通过与独立进程通信通知独立进程所述要执行的操作;
第一活动对象运行子模块,独立进程调用并运行模拟容器中的活动对象,执行所述要执行的操作并反馈给代理对象。
优选的,所述调用模块,包括:
第二对象放入容器子模块,用于将代理对象放入真实容器中,并将活动对象放入模拟容器中;
第二活动对象运行子模块,用于独立进程运行模拟容器中的活动对象,并通知独立进程要实现的功能;
第二通信子模块,用于独立进程通过与代理对象通信通知代理对象所述要实现的功能;
第二代理对象运行子模块,用于真实容器中的代理对象在页面进程中被调用并运行,实现所述要实现的功能并反馈给活动对象。
优选的,所述的系统还包括:
所述页面进程模块,还用于页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;
所述独立进程模块,还用于独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;
所述调用模块,还用于代理对象通过与对象线程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。
优选的,所述的系统还包括:
错误处理模块,用于当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。
优选的,所述的系统还包括:
代理对象通信标识传送模块,用于独立进程模块创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;
活动对象通信标识传送模块,还用于独立进程模块创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
优选的,所述页面进程模块,还用于独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。
优选的,在所述调用模块中,所述代理对象与活动对象通过同步或异步方式实现调用。
优选的,所述活动对象包括ActiveX对象。
与现有技术相比,本申请包括以下优点:
本申请提供了一种浏览器控件执行方法及系统,通过在页面进程中运行代理对象,而在独立进程中运行活动对象,使得真实的浏览器控件,例如真实的ActiveX控件与页面进程分离,从而使浏览器控件出现问题时不会影响嵌入浏览器控件的浏览器进程,即浏览器控件出现问题时不会影响页面进程,从而提高了浏览器的稳定性。同时,当浏览器控件出现病毒等安全性的问题时,由于浏览器控件与页面进程分离,不会影响页面进程的运行,从而也提高了浏览器的安全性。
其次,当浏览器控件出现问题时,可以对运行所述浏览器控件的对象线程执行挂起、降低权限或终止等操作,从而使得独立进程可以对浏览器控件的内存占用和CPU占用等系统资源做定向的分配,实现更好的资源分配回收方式,更合理的调度计算机资源,终止进程使得进程退出也可以让资源回收更彻底。
附图说明
图1是本申请实施例所述一种浏览器控件执行方法流程图;
图2是本申请实施例所述一种浏览器控件执行方法中代理对象调用活动对象流程图;
图3是本申请实施例所述一种浏览器控件执行方法中活动对象调用代理对象流程图;
图4是本申请优选实施例所述一种浏览器控件执行方法流程图;
图5是本申请实施例所述一种浏览器控件执行系统结构图。
具体实施方式
为使本申请的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本申请作进一步详细的说明。
本申请提供了一种浏览器控件执行方法,通过在页面进程中运行代理对象,而在独立进程中运行活动对象,使得真实的浏览器控件与页面进程分离,解决了浏览器控件影响浏览器的稳定性和安全性的问题。
本申请可以适用于IE内核的浏览器,IE的全拼是Internet Explorer,最初是微软公司推出的一款浏览器,后来许多公司也都推出了自己的浏览器,但绝大部分都还是IE内核的浏览器,因此只要浏览器是IE内核浏览器均适用于本申请。
参照图1,给出了本申请实施例所述一种浏览器控件执行方法流程图。
步骤101,截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;
浏览器运行中,页面进程会创建活动对象,所述的活动对象就是真实的浏览器控件,例如真实的ActiveX控件。本申请所述的方法截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述的代理对象可以是模拟的浏览器控件,例如模拟的ActiveX控件,所述代理对象在页面进程中运行。
步骤102,在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述代理对象在页面进程中运行;
本申请所述的方法在页面进程中创建了代理对象,例如模拟的ActiveX控件,还需要运行活动对象,例如真实的ActiveX控件,因此可以创建独立进程,所述的独立进程独立于页面浏览器的页面进程,在独立进程中创建所述实际要创建的活动对象,例如创建上述真实的ActiveX控件,所述活动对象在独立进程中运行。
步骤103,代理对象通过与独立进程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。
本申请所述的方法可以实现双向的通信,代理对象在页面进程中运行,代理对象通过与独立进程通信,在独立进程中运行活动对象,并调用所述活动对象实现相应的功能,
和/或
活动对象在独立进程中运行,独立进程通过与代理对象通信,在页面进程中运行代理对象,代理对象被活动对象调用执行相应的操作,即活动对象调用所述代理对象执行相应的操作。
本申请所述的方法创建了代理对象,在页面进程中运行,在独立进程中运行活动对象,将页面进程和真实的浏览器控件分离,例如与真实的ActiveX控件。在实际运行的过程中,页面进程要执行的操作仍然需要活动对象执行,活动对象要实现的功能仍然需要通过页面进程实现。
综上所述,本申请所述的方法通过在页面进程中运行代理对象,而在独立进程中运行活动对象,使得真实的浏览器控件,例如真实的ActiveX控件与页面进程分离,从而使浏览器控件出现问题时不会影响嵌入浏览器控件的浏览器进程,即浏览器控件出现问题时不会影响页面进程,从而提高了浏览器的稳定性。同时,当浏览器控件出现病毒等安全性的问题时,由于浏览器控件与页面进程分离,不会影响页面进程的运行,从而也提高了浏览器的安全性。
在打开浏览器时浏览器的页面进程会创建活动对象,而后进行页面的各项操作,所述活动对象通常指浏览器的控件,例如ActiveX控件。因此在优选的情况下,所述活动对象可以是ActiveX对象,即可以是ActiveX控件。
参照图2,给出了本申请实施例所述一种浏览器控件执行方法中代理对象调用活动对象流程图。
进一步,步骤103中所述代理对象通过与独立进程通信,调用活动对象,包括:
步骤201,将代理对象放入真实容器中,并将活动对象放入模拟容器中;
上述活动对象是真实的浏览器控件,代理对象时模拟的浏览器控件,浏览器控件需要放入到控件容器中在浏览器的页面进程中运行。因此将模拟的浏览器控件放置到真实容器中浏览器的页面进程中运行,真实的浏览器控件放置到模拟容器中在独立进程中运行。
例如,ActiveX控件需要放在ActiveX容器中在浏览器的页面进程中运行,因此要将代理对象放入真实的ActiveX容器中,所述真实容器即真实的ActiveX容器;要使ActiveX对象能在独立进程中运行,也需要有相应的ActiveX容器,因此本申请所述的方法创建了模拟的ActiveX容器,将ActiveX对象放入模拟的ActiveX容器中,所述模拟容器就是模拟的ActiveX容器。
步骤202,页面进程运行真实容器中的代理对象,并通知代理对象要执行的操作;
浏览器控件需要放入到控件容器中在浏览器的页面进程中运行,因此页面进程会运行真实容器中的代理对象,并且通知代理对象要执行的操作。
例如,ActiveX控件需要放在ActiveX容器中在浏览器的页面进程中运行,因此要将代理对象放入真实的ActiveX容器中在页面进程中运行,所述真实容器即真实的ActiveX容器,页面进程要执行某种操作时可以通知代理对象。
步骤203,代理对象通过与独立进程通信通知所述要执行的操作;
页面进程要执行的操作仍然需要活动对象执行,例如需要ActiveX对象执行,因此在代理对象接收到执行的操作时,代理对象可以和独立进程通信,通过和独立进程通信可以通知独立进程要执行的操作。
步骤204,独立进程调用并运行模拟容器中的活动对象,执行所述要执行的操作并反馈给代理对象。
所述活动对象包括ActiveX对象,因此以ActiveX对象为例具体论述。
例如,独立进程接收到要执行的操作后,可以调用ActiveX对象,然后再运行ActiveX对象,要使ActiveX对象能在独立进程中运行,也需要有相应的ActiveX容器,因此本申请所述的方法创建了模拟的ActiveX容器,所述模拟容器就是模拟的ActiveX容器。将ActiveX对象放入模拟的ActiveX容器中在独立进程中运行,执行所述要执行的操作,将执行完成后的结果反馈给代理对象。
参照图3,给出了本申请实施例所述一种浏览器控件执行方法中活动对象调用代理对象流程图。
进一步,步骤103中所述代理对象通过与独立进程通信,被活动对象调用,包括:
步骤301,将代理对象放入真实容器中,并将活动对象放入模拟容器中;
同上述步骤201中论述的相同,并且活动对象包括ActiveX对象,因此以ActiveX对象为例具体论述。
例如,ActiveX控件需要放在ActiveX容器中在浏览器的页面进程中运行,因此要将代理对象放入真实的ActiveX容器中,所述真实容器即真实的ActiveX容器;要使ActiveX对象能在独立进程中运行,也需要有相应的ActiveX容器,因此本申请所述的方法创建了模拟的ActiveX容器,将ActiveX对象放入模拟的ActiveX容器中,所述模拟容器就是模拟的ActiveX容器。
步骤302,把代理对象放入模拟容器并在独立进程中运行,通知独立进程要实现的功能;
要是活动对象在独立进程中运行,需要有相应的控件容器,以ActiveX对象为例,要使ActiveX对象能在独立进程中运行,也需要有相应的ActiveX容器,因此当ActiveX对象要实现某种功能时,可以把ActiveX对象放入模拟容器中在独立进程中运行,通知独立进程要实现的功能。
步骤303,独立进程通过与代理对象通信通知所述要实现的功能;
活动对象(例如,ActiveX对象)要实现的功能仍然需要通过页面进程实现,因此独立进程接收到要实现的功能后,会与代理对象进行通信,通过与代理对象通信可以通知代理对象所述要实现的功能。
步骤304,真实容器中的代理对象在页面进程中被调用并运行,实现所述要实现的功能并反馈给活动对象。
代理对象接收到要实现的功能后,代理对象可以被页面进程调用,然后在页面进程中运行,要使代理对象在页面进程中被调用并运行,需要有相应的控件容器,例如,模拟的ActiveX控件需要ActiveX容器。因此将代理对象放入到真实容器中,然后在页面进程中被调用并运行,实现所述要实现的功能,然后将结果反馈给活动对象。例如,上述模拟的ActiveX控件运行后返回结果给真实的ActiveX控件,即ActiveX对象。
参照图4,给出了本申请优选实施例所述一种浏览器控件执行方法流程图。
优选的,本申请所述的方法适用于多进程多线程的系统。
步骤401,页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;
通常一个浏览器往往可以打开很多个页面来浏览不同的网页,因此在本申请所述的方法中,每个浏览器包含有页面进程,在打开多个页面时,页面进程可以为每个页面创建一个页面线程,页面线程会创建活动对象,例如ActiveX对象,所述的ActiveX对象就是真实的ActiveX控件。因此截获页面线程创建ActiveX对象的过程,创建代理对象替换实际要创建的ActiveX对象,此时所述代理对象是模拟的ActiveX控件,在页面线程中运行所述代理对象。
步骤402,独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;
浏览器包含有页面进程,在打开多个页面时,页面进程可以为每个页面创建一个页面线程,页面线程创建代理对象,例如模拟的ActiveX控件,还需要运行活动对象,例如ActiveX对象即真实的ActiveX控件,因此可以创建独立进程,独立进程为每个页面创建一个独立于页面线程的对象线程,在对象线程创建中创建所述实际要创建的活动对象,所述活动对象可以在对象线程中运行。
步骤403,代理对象通过与对象线程通信,调用活动对象,和/或,代理对象通过与对象线程通信,被活动对象调用。
本申请所述的方法可以实现双向的通信,代理对象在页面线程中运行,代理对象通过与对象线程通信,在对象线程中运行活动对象,并调用所述活动对象实现相应的功能,
和/或,
活动对象在对象线程中运行,对象线程通过与代理对象通信,在页面线程中运行代理对象,代理对象被活动对象调用执行相应的操作,即活动对象调用所述代理对象执行相应的操作。
同样的,本申请所述的方法创建了代理对象在页面线程中运行,在对象线程中运行活动对象,将页面线程和真实的浏览器控件分离,例如与真实的ActiveX控件。在实际运行的过程中,页面线程要执行的操作仍然需要活动对象执行,活动对象要实现的功能仍然需要通过页面线程实现。所述活动对象包括ActiveX对象,即ActiveX控件。
步骤403中具体的代理对象通过与对象线程通信,调用活动对象,和/或,代理对象通过与对象线程通信,被活动对象调用的具体过程同图2和图3类似,因此此处不再赘述。
优选的,当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。
所述活动对象包括ActiveX对象,以ActiveX对象为例,则ActiveX对象在对象线程中运行,当ActiveX对象出现问题时,例如ActiveX对象陷入死循环时,可以对运行所述ActiveX对象的对象线程执行挂起操作,使得所述对象线程暂时不能运行;或者对运行所述ActiveX对象的对象线程执行降低权限操作;或者对运行所述ActiveX对象的对象线程执行终止操作,终止所述的对象线程。
当然,不仅活动对象在对象线程中运行时可执行所述的操作,当活动对象在独立进程中运行时同样适用,此处不应理解为是对本申请的限定。
因此,通过所述的方法使得独立进程可以对浏览器控件,例如ActiveX控件的内存占用和CPU占用等系统资源做定向的分配,实现更好的资源分配回收方式,更合理的调度计算机资源,终止进程使得进程退出也可以让资源回收更彻底。
并且,活动对象出现问题时,例如,ActiveX控件的崩溃卡死时,不会再对浏览器页面进程或页面线程造成影响,从而提高浏览器使用的稳定性;可以针对ActiveX控件的独立进程或对象线程采取针对性的更严格的安全策略(如沙箱),从而解决ActiveX控件的安全漏洞问题,提高了页面进程的稳定性和安全性。
优选的,本申请所述的方法,还包括:
独立进程创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;
当独立进程创建活动对象时,代理对象将页面进程的通信句柄和代理对象标识作为通信标识,传送给独立进程;当对象线程创建活动对象时,代理对象将页面线程的通信句柄和代理对象标识作为通信标识,传送给对象线程。
独立进程创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
当独立进程创建活动对象后,活动对象将独立进程的通信句柄和活动对象标识作为通信标识,传送给代理对象;当对象线程创建活动对象时,活动对象将对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
对象线程可以维护各自的通信句柄,通过通信标识使得代理对象和独立进程或对象线程可以相互通信。
优选的,所述独立进程为每个页面创建一个对象线程,包括:
独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。
独立进程在为每个页面创建对象线程时,可以先创建主线程,然后主线程为每个页面创建一个对象线程,其中所述主线程用于维护全局配置,使得每个对象线程在运行中可以更好的进行资源分配,统一管理。
优选的,所述代理对象与活动对象通过同步或异步方式实现调用。
所述代理对象与活动对象在相互调用时,可以采用同步的方式,也可以采用异步的方式。但是,在对象线程创建完成后,也可以不再有同步信号操作。
优选的,所述活动对象包括ActiveX对象。
上述实施例中的活动对象均包括ActiveX对象。
在本申请所述的方法中,例如,针对IE浏览器中ActiveX控件的执行过程中,可以创建模拟的ActiveX类工厂,取代真实的ActiveX类工厂,在页面进程或页面线程模拟标准方式,创建代理对象,例如,参考如下的模型:
Figure BDA0000091586590000131
可以创建ActiveX代理类,用于完成真实ActiveX类的所有接口,并转发对ActiveX对象的初始化、传送数据、传送状态和执行回调等操作,例如,参考如下的模型:
Figure BDA0000091586590000132
ActiveX控件需要放在ActiveX容器中在浏览器的页面进程或页面线程中运行,因此代理对象要放入到真实容器中在页面进程或页面线程中运行,所述的真实容器就是真实的ActiveX容器,所以可以创建模拟容器即模拟的ActiveX容器,在独立进程或对象线程中实现页面环境,将ActiveX对象放入到真实容器中在独立进程或对象线程中运行,例如,参考如下的模型:
Figure BDA0000091586590000141
本申请所述的方法,可以通过窗口消息的方式封装COM对象、结构参数等,实现代理对象与ActiveX对象的远程(隔离)调用,具体调用的过程可以参照图2和图3的论述,当然也可以通过管道的方式实现,本申请具体的实现方式不限定。
例如,远程调用在实现参数的序列化后,可以通过WM_COPYDATA消息拷贝到接收进程空间,参数对象模型如下:
Figure BDA0000091586590000142
本申请适用于单进程单线程、多进程多线程和单进程多线程等系统中,在本申请中没有一一列举,此处不应理解为是对本申请的限制。
综上所述,本申请所述的方法通过在页面进程中运行代理对象,而在独立进程中运行活动对象,使得真实的浏览器控件,例如真实的ActiveX控件与页面进程分离,从而使浏览器控件出现问题时不会影响嵌入浏览器控件的浏览器进程,即浏览器控件出现问题时不会影响页面进程,从而提高了浏览器的稳定性。同时,当浏览器控件出现病毒等安全性的问题时,由于浏览器控件与页面进程分离,不会影响页面进程的运行,从而也提高了浏览器的安全性。
其次,当浏览器控件出现问题,可以对运行所述浏览器控件的对象线程执行挂起、降低权限或终止等操作,从而使得独立进程可以对浏览器控件的内存占用和CPU占用等系统资源做定向的分配,实现更好的资源分配回收方式,更合理的调度计算机资源,终止进程使得进程退出也可以让资源回收更彻底。
参照图5,给出了本申请实施例所述一种浏览器控件执行系统结构图。
相应的本申请还提供了一种浏览器控件执行系统,包括页面进程模块11、独立进程模块12和调用模块13,其中,
页面进程模块11,用于截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;
独立进程模块12,用于在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;
调用模块13,用于代理对象通过与独立进程通信,调用活动对象,和/或,用于代理对象通过与独立进程通信,被活动对象调用。
进一步,所述调用模块13,包括:
第一对象放入容器子模块131,用于将代理对象放入真实容器中,并将活动对象放入模拟容器中;
第一代理对象运行子模块132,用于页面进程运行真实容器中的代理对象,并通知代理对象要执行的操作;
第一通信子模块133,用于代理对象通过与独立进程通信通知独立进程所述要执行的操作;
第一活动对象运行子模块134,独立进程调用并运行模拟容器中的活动对象,执行所述要执行的操作并反馈给代理对象。
优选的,所述活动对象包括活动对象。
进一步,所述调用模块13,包括:
第二对象放入容器子模块135,用于将代理对象放入真实容器中,并将活动对象放入模拟容器中;
第二活动对象运行子模块136,用于独立进程运行模拟容器中的活动对象,并通知独立进程要实现的功能;
第二通信子模块137,用于独立进程通过与代理对象通信通知代理对象所述要实现的功能;
第二代理对象运行子模块138,用于真实容器中的代理对象在页面进程中被调用并运行,实现所述要实现的功能并反馈给活动对象。
优选的,所述页面进程模块11,还用于页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;
所述独立进程模块12,还用于独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;
所述调用模块13,还用于代理对象通过与对象线程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。
优选的,所述的系统还包括:
错误处理模块14,用于当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。
优选的,所述的系统还包括:
代理对象通信标识传送模块15,用于独立进程模块12创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;
活动对象通信标识传送16,用于独立进程模块12创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
优选的,所述页面进程模块11,还用于独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。
优选的,在所述调用模块13中,所述代理对象与活动对象通过同步或异步方式实现调用。
对于系统实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
以上对本申请所提供的浏览器控件执行方法及系统,进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

Claims (18)

1.一种浏览器控件执行方法,其特征在于,包括:
截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;
在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;
代理对象通过与独立进程通信,调用活动对象,和/或,
代理对象通过与独立进程通信,被活动对象调用。
2.根据权利要求1所述的方法,其特征在于,所述代理对象通过与独立进程通信,调用活动对象,包括:
将代理对象放入真实容器中,并将活动对象放入模拟容器中;
页面进程运行真实容器中的代理对象,并通知代理对象要执行的操作;
代理对象通过与独立进程通信通知独立进程所述要执行的操作;
独立进程调用并运行模拟容器中的活动对象,执行所述要执行的操作并反馈给代理对象。
3.根据权利要求1所述的方法,其特征在于,所述代理对象通过与独立进程通信,被活动对象调用,包括:
将代理对象放入真实容器中,并将活动对象放入模拟容器中;
独立进程运行模拟容器中的活动对象,并通知独立进程要实现的功能;
独立进程通过与代理对象通信通知代理对象所述要实现的功能;
真实容器中的代理对象在页面进程中被调用并运行,实现所述要实现的功能并反馈给活动对象。
4.根据权利要求1所述的方法,其特征在于:
页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;
独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;
代理对象通过与对象线程通信,调用活动对象,和/或,
代理对象通过与对象线程通信,被活动对象调用。
5.根据权利要求4所述的方法,其特征在于,还包括:
当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。
6.根据权利要求4所述的方法,其特征在于,还包括:
独立进程创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;
独立进程创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
7.根据权利要求4所述的方法,其特征在于,所述独立进程为每个页面创建一个对象线程,包括:
独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。
8.根据权利要求1所述的方法,其特征在于:
所述代理对象与活动对象通过同步或异步方式实现调用。
9.根据权利要求1至8任一所述的方法,其特征在于,
所述活动对象包括ActiveX对象。
10.一种浏览器控件执行系统,其特征在于,包括:
页面进程模块,用于截获浏览器的页面进程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面进程中运行;
独立进程模块,用于在独立于浏览器页面进程的独立进程中,创建所述实际要创建的活动对象,所述活动对象在独立进程中运行;
调用模块,用于代理对象通过与独立进程通信,调用活动对象,和/或,用于代理对象通过与独立进程通信,被活动对象调用。
11.根据权利要求10所述的系统,其特征在于,所述调用模块,包括:
第一对象放入容器子模块,用于将代理对象放入真实容器中,并将活动对象放入模拟容器中;
第一代理对象运行子模块,用于页面进程运行真实容器中的代理对象,并通知代理对象要执行的操作;
第一通信子模块,用于代理对象通过与独立进程通信通知独立进程所述要执行的操作;
第一活动对象运行子模块,独立进程调用并运行模拟容器中的活动对象,执行所述要执行的操作并反馈给代理对象。
12.根据权利要求10所述的系统,其特征在于,所述调用模块,包括:
第二对象放入容器子模块,用于将代理对象放入真实容器中,并将活动对象放入模拟容器中;
第二活动对象运行子模块,用于独立进程运行模拟容器中的活动对象,并通知独立进程要实现的功能;
第二通信子模块,用于独立进程通过与代理对象通信通知代理对象所述要实现的功能;
第二代理对象运行子模块,用于真实容器中的代理对象在页面进程中被调用并运行,实现所述要实现的功能并反馈给活动对象。
13.根据权利要求10所述的系统,其特征在于:
所述页面进程模块,还用于页面进程为每个页面创建一个页面线程,截获页面线程创建活动对象的过程,创建代理对象替换实际要创建的活动对象,所述代理对象在页面线程中运行;
所述独立进程模块,还用于独立进程为每个页面创建一个独立于页面线程的对象线程,在所述对象线程中创建所述实际要创建的活动对象,所述活动对象在对象线程中运行;
所述调用模块,还用于代理对象通过与对象线程通信,调用活动对象,和/或,代理对象通过与独立进程通信,被活动对象调用。
14.根据权利要求13所述的系统,其特征在于,还包括:
错误处理模块,用于当活动对象出现问题时,对运行所述活动对象的对象线程执行挂起、降低权限或终止操作。
15.根据权利要求13所述的系统,其特征在于,还包括:
代理对象通信标识传送模块,用于独立进程模块创建活动对象时,代理对象将页面进程或页面线程的通信句柄和代理对象标识作为通信标识,传送给独立进程或对象线程;
活动对象通信标识传送模块,还用于独立进程模块创建活动对象后,活动对象将独立进程或对象线程的通信句柄和活动对象标识作为通信标识,传送给代理对象。
16.根据权利要求13所述的系统,其特征在于:
所述页面进程模块,还用于独立进程创建主线程,主线程为每个页面创建一个对象线程,所述主线程用于维护全局配置。
17.根据权利要求10所述的系统,其特征在于:
在所述调用模块中,所述代理对象与活动对象通过同步或异步方式实现调用。
18.根据权利要求10至17所述的系统,其特征在于,
所述活动对象包括ActiveX对象。
CN201110274460A 2011-09-15 2011-09-15 一种浏览器控件执行方法及系统 Pending CN102314510A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201110274460A CN102314510A (zh) 2011-09-15 2011-09-15 一种浏览器控件执行方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110274460A CN102314510A (zh) 2011-09-15 2011-09-15 一种浏览器控件执行方法及系统

Publications (1)

Publication Number Publication Date
CN102314510A true CN102314510A (zh) 2012-01-11

Family

ID=45427675

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110274460A Pending CN102314510A (zh) 2011-09-15 2011-09-15 一种浏览器控件执行方法及系统

Country Status (1)

Country Link
CN (1) CN102314510A (zh)

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622439A (zh) * 2012-03-06 2012-08-01 奇智软件(北京)有限公司 一种在浏览器中展示文档的方法及装置
CN102681850A (zh) * 2012-05-07 2012-09-19 奇智软件(北京)有限公司 一种基于Webkit 内核提供网页浏览的方法及装置
CN102681891A (zh) * 2012-05-04 2012-09-19 奇智软件(北京)有限公司 一种浏览器输入控件的进程控制方法和装置
CN103019735A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN103024536A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 视频播放方法和浏览器
CN103019734A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 一种活动对象执行方法、系统及浏览器
CN103019733A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 一种用于浏览器的活动对象执行方法、系统及浏览器
CN103019867A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 进程间的脚本执行方法、系统及浏览器
CN103034503A (zh) * 2012-12-25 2013-04-10 北京奇虎科技有限公司 一种脚本执行方法、系统及浏览器
CN103034495A (zh) * 2012-12-12 2013-04-10 北京奇虎科技有限公司 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN103064747A (zh) * 2012-12-13 2013-04-24 郑州威科姆科技股份有限公司 Wes7环境中不同web窗口页面间的通信方法
CN103064680A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 浏览器中插件的播放方法及装置
CN103064750A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及系统
CN103064709A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN103077092A (zh) * 2012-12-25 2013-05-01 北京奇虎科技有限公司 浏览器控件恢复方法及系统
CN103077047A (zh) * 2012-12-25 2013-05-01 北京奇虎科技有限公司 一种插件播放方法及装置
CN103077194A (zh) * 2012-12-25 2013-05-01 北京奇虎科技有限公司 浏览器活动对象的创建方法、装置及浏览器
CN103150390A (zh) * 2013-03-21 2013-06-12 北京奇虎科技有限公司 一种对Flash窗口的处理方法和装置
CN103226477A (zh) * 2013-05-21 2013-07-31 北京暴风科技股份有限公司 一种在WebBrowser中增强flash视频画质的方法和系统
CN103617092A (zh) * 2013-11-21 2014-03-05 北京奇虎科技有限公司 一种基于浏览器的插件运行方法和装置
WO2014101455A1 (zh) * 2012-12-25 2014-07-03 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
WO2014101486A1 (zh) * 2012-12-25 2014-07-03 北京奇虎科技有限公司 浏览器中插件的播放方法及装置
CN103955466A (zh) * 2012-03-06 2014-07-30 北京奇虎科技有限公司 一种在浏览器中展示文档的方法及装置
CN104050410A (zh) * 2013-03-11 2014-09-17 腾讯科技(深圳)有限公司 创建ActiveX控件的方法和装置
CN105700928A (zh) * 2016-01-15 2016-06-22 北京金山安全软件有限公司 一种控件信息展示方法、装置及电子设备
CN106844077A (zh) * 2016-12-26 2017-06-13 浙江中控技术股份有限公司 一种控件创建方法及控件创建系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737762A (zh) * 2004-08-20 2006-02-22 华为技术有限公司 一种对企业级Java组件的方法进行调用的方法
CN101308465A (zh) * 2008-05-08 2008-11-19 华为技术有限公司 访问本地资源的方法及装置
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1737762A (zh) * 2004-08-20 2006-02-22 华为技术有限公司 一种对企业级Java组件的方法进行调用的方法
CN101308465A (zh) * 2008-05-08 2008-11-19 华为技术有限公司 访问本地资源的方法及装置
CN102156663A (zh) * 2011-03-22 2011-08-17 北京书生国际信息技术有限公司 一种实现插件的方法和装置

Cited By (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102622439B (zh) * 2012-03-06 2014-06-11 北京奇虎科技有限公司 一种在浏览器中展示文档的方法及装置
CN103955466B (zh) * 2012-03-06 2017-11-14 北京奇虎科技有限公司 一种在浏览器中展示文档的方法及装置
CN103955466A (zh) * 2012-03-06 2014-07-30 北京奇虎科技有限公司 一种在浏览器中展示文档的方法及装置
CN102622439A (zh) * 2012-03-06 2012-08-01 奇智软件(北京)有限公司 一种在浏览器中展示文档的方法及装置
CN102681891A (zh) * 2012-05-04 2012-09-19 奇智软件(北京)有限公司 一种浏览器输入控件的进程控制方法和装置
CN105068866A (zh) * 2012-05-04 2015-11-18 北京奇虎科技有限公司 一种浏览器输入控件的进程控制方法和装置
CN102681891B (zh) * 2012-05-04 2015-09-09 北京奇虎科技有限公司 一种浏览器输入控件的进程控制方法和装置
CN102681850A (zh) * 2012-05-07 2012-09-19 奇智软件(北京)有限公司 一种基于Webkit 内核提供网页浏览的方法及装置
CN102681850B (zh) * 2012-05-07 2015-05-20 北京奇虎科技有限公司 一种基于Webkit内核提供网页浏览的方法及装置
CN103034495A (zh) * 2012-12-12 2013-04-10 北京奇虎科技有限公司 对网页中插件进行隔离的浏览器及网页插件的隔离方法
CN103064747A (zh) * 2012-12-13 2013-04-24 郑州威科姆科技股份有限公司 Wes7环境中不同web窗口页面间的通信方法
WO2014101486A1 (zh) * 2012-12-25 2014-07-03 北京奇虎科技有限公司 浏览器中插件的播放方法及装置
CN103024536A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 视频播放方法和浏览器
CN103064709A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN103077092A (zh) * 2012-12-25 2013-05-01 北京奇虎科技有限公司 浏览器控件恢复方法及系统
CN103077047A (zh) * 2012-12-25 2013-05-01 北京奇虎科技有限公司 一种插件播放方法及装置
CN103077194A (zh) * 2012-12-25 2013-05-01 北京奇虎科技有限公司 浏览器活动对象的创建方法、装置及浏览器
CN105843697B (zh) * 2012-12-25 2019-05-24 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及系统
CN103019735A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN103064709B (zh) * 2012-12-25 2016-11-09 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN103064680A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 浏览器中插件的播放方法及装置
WO2014101455A1 (zh) * 2012-12-25 2014-07-03 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN103034503A (zh) * 2012-12-25 2013-04-10 北京奇虎科技有限公司 一种脚本执行方法、系统及浏览器
CN103019867A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 进程间的脚本执行方法、系统及浏览器
CN103077194B (zh) * 2012-12-25 2016-10-05 北京奇虎科技有限公司 浏览器活动对象的创建方法、装置及浏览器
CN103019733A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 一种用于浏览器的活动对象执行方法、系统及浏览器
CN103019734A (zh) * 2012-12-25 2013-04-03 北京奇虎科技有限公司 一种活动对象执行方法、系统及浏览器
CN103077092B (zh) * 2012-12-25 2015-09-30 北京奇虎科技有限公司 浏览器控件恢复方法及系统
CN103064750A (zh) * 2012-12-25 2013-04-24 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及系统
CN103064750B (zh) * 2012-12-25 2016-04-27 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及系统
CN103024536B (zh) * 2012-12-25 2016-05-04 北京奇虎科技有限公司 视频播放方法和浏览器
CN103019867B (zh) * 2012-12-25 2016-06-01 北京奇虎科技有限公司 进程间的脚本执行方法、系统及浏览器
CN105843697A (zh) * 2012-12-25 2016-08-10 北京奇虎科技有限公司 一种浏览器控件的中断恢复方法及系统
CN103019733B (zh) * 2012-12-25 2016-07-06 北京奇虎科技有限公司 一种用于浏览器的活动对象执行方法、系统及浏览器
CN103019734B (zh) * 2012-12-25 2016-08-03 北京奇虎科技有限公司 一种活动对象执行方法、系统及浏览器
CN103019735B (zh) * 2012-12-25 2016-08-03 北京奇虎科技有限公司 浏览器活动对象的执行方法、系统及浏览器
CN104050410A (zh) * 2013-03-11 2014-09-17 腾讯科技(深圳)有限公司 创建ActiveX控件的方法和装置
CN103150390A (zh) * 2013-03-21 2013-06-12 北京奇虎科技有限公司 一种对Flash窗口的处理方法和装置
CN103226477B (zh) * 2013-05-21 2016-12-28 成都云朵技术有限公司 一种在WebBrowser中增强flash视频画质的方法和系统
CN103226477A (zh) * 2013-05-21 2013-07-31 北京暴风科技股份有限公司 一种在WebBrowser中增强flash视频画质的方法和系统
CN103617092A (zh) * 2013-11-21 2014-03-05 北京奇虎科技有限公司 一种基于浏览器的插件运行方法和装置
CN105700928A (zh) * 2016-01-15 2016-06-22 北京金山安全软件有限公司 一种控件信息展示方法、装置及电子设备
CN105700928B (zh) * 2016-01-15 2019-08-09 北京金山安全软件有限公司 一种控件信息展示方法、装置及电子设备
CN106844077A (zh) * 2016-12-26 2017-06-13 浙江中控技术股份有限公司 一种控件创建方法及控件创建系统
CN106844077B (zh) * 2016-12-26 2020-11-13 浙江中控技术股份有限公司 一种控件创建方法及控件创建系统

Similar Documents

Publication Publication Date Title
CN102314510A (zh) 一种浏览器控件执行方法及系统
CN110535831B (zh) 基于Kubernetes和网络域的集群安全管理方法、装置及存储介质
US10178160B2 (en) Virtual application execution system and method
CN107203419A (zh) 应用程序中的模块间调用方法、装置及系统
CN110750255A (zh) 一种小程序渲染方法和装置
CN103064680B (zh) 浏览器中插件的播放方法及装置
CN108762956A (zh) 获取Native本地数据的方法、服务器、移动终端及存储介质
CN106415581A (zh) 用于追踪和检测恶意软件的系统和方法
CN113157362A (zh) 一种应用于Linux上Android多窗口显示方法
CN112653670A (zh) 业务逻辑漏洞检测方法、装置、存储介质以及终端
CN103309695A (zh) 一种加载图标的方法和终端
CN103746959A (zh) OSGi环境下Java和C的通信机制的实现方法
CN103064750A (zh) 一种浏览器控件的中断恢复方法及系统
Xu et al. Caople: A programming language for microservices saas
CN102915251B (zh) 一种多页面浏览器处理消息的方法和装置
CN103677983A (zh) 应用的调度方法及装置
CN103177028A (zh) 一种信息交互的方法和系统
CN103678488B (zh) 分布式大批量动态任务引擎及采用其处理数据的方法
CN113067831B (zh) 通信方法、通信装置及通信系统
CN103034503A (zh) 一种脚本执行方法、系统及浏览器
CN108595957A (zh) 浏览器主页篡改检测方法、装置及存储介质
CN110673827B (zh) 基于安卓系统的资源调用方法及装置、电子设备
CN103077092A (zh) 浏览器控件恢复方法及系统
US9866501B2 (en) Virtual switch enabling communication between external objects and simulation objects
CN103077016B (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
C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20120111