当前位置: BOLT界面引擎 > 知识库文章 > BOLT浏览器对象指南

BOLT浏览器对象指南

作者:李亚星 2013-02-19

目前BOLT里面支持嵌入浏览器控件(IE控件),用来加载和显示网页等,目前有两种形式

 

一、        简单需求直接使用元对象WebBrowseObject

WebBrowseObject是引擎内置的基础元对象,在win32平台下是对IE控件的封装(也即是Microsoft Web Browser Activex Control),并且提供了简单的功能,可以适用于简单的产品需求,比如打开网页浏览,简单交互等

 

功能有下述几类:

a)         IWebBrowser2接口的一些常用方法,比如NavigateGoForwardGoBackGoHomeStopRefreshGetBusy

b)         IWebBrowser2接口的一些常用事件,比如OnNavigateErrorOnDocumentCompleteOnBeforeNavigate2

c)         可以设置一个外部的IDispatch接口,作为页面的external对象

d)         可以取到ie控件的com接口IWebBrowser2*,根据需要进行高级操作

e)         一些常用属性,比如是否禁止页面菜单,是否允许弹出脚本错误等

 

需要注意的是,WebBrowseObject是对ie控件等功能的有限支持,适用于简单的产品需求,由于IE控件这块内容极为复杂,BOLT引擎很难提供非常完善的、适用于各种需求的支持,所以如果你们的产品需要对IE控件的高级用法/定制,而现有WebBrowseObject不能满足需求,那么请考虑使用第二种基于RealObject的方案

 

 

二、        复杂需求使用RealObject+IE控件子窗口

RealObjectBOLT引擎里面和传统win32控件等对接的桥梁,对于一些产品既有的复杂控件,子窗口和ActiveX控件,都可以使用RealObject+子窗口的形式,嵌入到基于BOLT开发的hostwnd里面

 

由于IE控件不支持无窗口模式,所以引擎内置的WebBrowseObject元对象,也是基于RealObject+IE控件子窗口的模式实现,并且在此基础上做了一些定制,提供了部分的属性、接口、事件的lua封装,但是仅限于常用的功能,如果你的产品需要深度定制IE控件,或者需要非常复杂、高级的用法,那么需要使用RealObject+IE控件子窗口的方案,这样可以提供最大可控性,避免因为WebBrowseObject的限制导致某些功能无法实现

 

 

三、        未来引擎对浏览器对象的支持

 

未来引擎考虑引入WebKit浏览器内核,来取代现在的WebBrowseObject(或者增加全新的元对象),以提供更统一的、标准的、平台无关的、定制性更强的浏览器控件支持,这个目前还在规划中

 

迅雷公司 版权所有 Copyright 2003-2010 Thunder Inc.All Rights Reserved. 意见反馈:xl7doc@xunlei.com