[发明专利]一种扩展浏览器功能的方法及浏览器系统有效
申请号: | 201210237542.1 | 申请日: | 2012-07-09 |
公开(公告)号: | CN103543991B | 公开(公告)日: | 2018-06-08 |
发明(设计)人: | 唐虹刚;黎科峰 | 申请(专利权)人: | 百度在线网络技术(北京)有限公司 |
主分类号: | G06F8/20 | 分类号: | G06F8/20;G06F8/30 |
代理公司: | 北京鸿德海业知识产权代理事务所(普通合伙) 11412 | 代理人: | 袁媛 |
地址: | 100085 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 非原生 脚本 创建 解析 脚本引擎模块 扩展浏览器 浏览器系统 脚本代理 页面脚本 浏览器 插件描述文件 插件机制 模块调用 实例创建 映射关系 触发 插件 可用 预设 调用 | ||
本发明提供了一种扩展浏览器功能的方法及浏览器系统,其中该方法包括:A.浏览器的脚本引擎模块解析页面脚本,在解析过程中确定所述页面脚本中待创建的非原生脚本实例;B.所述脚本代理模块根据预设的插件描述文件中的映射关系创建Java类实例,并根据所述Java类实例创建所述待创建的非原生脚本实例;C.当所述脚本引擎模块在解析过程中调用已创建的非原生脚本实例时,触发所述脚本代理模块调用与所述已创建的非原生脚本实例对应的Java类实例。通过上述方式,能够实现一种新的浏览器插件机制,大大增加可用插件数量。
【技术领域】
本发明涉及浏览器插件实现技术,特别涉及一种扩展浏览器功能的方法及浏览器系统。
【背景技术】
浏览器插件是对浏览器的功能进行扩展的应用。现有的浏览器插件实现技术(即对浏览器进行功能扩展的技术)主要包括以下三类:基于IE平台的ActiveX技术、可以跨浏览器平台的NPAPI技术以及在支持JAVA的浏览器上实现的Applet技术。下面对这三种浏览器插件实现技术进行相应的介绍。
1、ActiveX是微软的WINDOWS平台上的专有技术。它使用COM(Component ObjectModel,部件对象模型)技术,使得软件部件(即组件及组件的主控程序)在网络环境中可以进行交互。COM技术是一种跨应用和语言共享二进制代码的方法,定义了不同应用在二进制级别上进行交互的标准,由于ActiveX插件与浏览器满足这样的标准,因此ActiveX插件只要以DLL(Dynamic Link Library,动态链接库)的形式注册至注册表,就可以供浏览器调用。具体地,浏览器加载ActiveX插件的过程请参考图1和图2。
图1为现有技术使用ActiveX插件时,网页源文件的编写范例示意图。从图1中可以看出,要使用ActiveX插件,在HTML文档中需要使用OBJECT标签进行标识,在该标签的属性中,还标识了ActiveX插件在注册表中的GUID(Globally Unique Identifier,全球唯一标识符)。图2为现有技术的ActiveX插件的加载过程示意图。如图2所示,首先在浏览器加载HTML页面时,进行DOM(文档对象模型)转换,在这个过程中发现OBJECT标签,便会从注册表中查找如图1中的OBJECT标签属性中指定的GUID对应的ActiveX插件,以得到相应ActiveX插件的位置,根据该位置,浏览器就可以将对应的ActiveX插件加载到内存并运行,实现相应的功能。
2、NPAPI是Netscape公司提出的一种浏览器插件技术。它是类似ActiveX的插件技术,但是它定义了一个跨浏览器的插件开发标准,满足NPAPI标准的浏览器插件能够在多种浏览器(如Firefox、Chrome、Safari、Opera等)上被调用。常用的FLASH播放器、支付宝安全控件都是使用NPAPI技术开发的插件。
请参考图3,图3为现有技术的NPAPI插件的加载过程的示意图。当浏览器启动时,加载默认路径下的插件类型的文件,并初始化插件环境(将各插件相应地注册到浏览器中),在初始化中,按照NPAPI的标准,插件和浏览器会分别调用对方提供的函数传递信息,同时浏览器获取插件中的信息,以将插件注册至浏览器中。页面加载时,在DOM解析的过程中发现如图4所示的标签,浏览器将判断注册插件中是否存在与图4所示的MimeType类型一致的插件,如果存在,则创建该插件的实例,以提供相应的功能实现浏览器功能的扩展。当页面销毁时,之前在页面上创建的插件实例相应也会被销毁,当浏览器关闭时,将退出插件环境。
3、Applet是用Java语言编写的小应用程序作为插件的技术,这些程序直接嵌入到页面中,由支持Java的浏览器解释执行,从而实现扩展浏览器功能的目的。
请参考图5,图5为现有技术使用Applet插件的页面源文件的示意图。对应着该页面,Applet的加载过程如下:浏览器加载页面,在进行DOM解析时发现Appplet标签,则在Applet标签定义的路径(X)下根据类名称(Y)找到相应的applet类,并使用Java虚拟机对该类进行解释执行,以实现该Applet的相应功能。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百度在线网络技术(北京)有限公司,未经百度在线网络技术(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210237542.1/2.html,转载请声明来源钻瓜专利网。