【www.gdgbn.com--浏览器】

IE里的探索之浏览器概览
(作者:青苹果工作室编译 2001年02月08日 13:28)
  本节解释Microsoft Internet Explorer 4.0及更高版本的体系结构并提供使用它的组件时用到的信息,包括以下内容:* 体系结构概览;* 选择正确的组件;* 提供附加控制;* 控制上下文相关菜单;* 扩展动态 HTML 对象模型;* 控制下载;* 安全管理。
体系结构概览
  Internet Explorer 使用 Microsoft ActiveX 控件和 Active Document 接口来连接各个组件。下图提供了一个高层的概览:

  IExplore.exe 在最上层;它是一个在 Internet Explorer 加载时被实例化的一个小应用程序。这个可执行的应用程序使用 Internet Explorer 来完成浏览、历史维护、收藏夹维护、HTML 语法分析和翻译等,同时它为独立的浏览器提供工具栏和框架。IExplorer.exe 直接引用 Shdocvw.dll 组件。
  然后 Shdocvw.dll 引用 Mshtml.dll 组件,当用户浏览到特定的类型的文档时,他还可以引用其它可以加载到浏览其中的 Active Document 组件 (如 Microsoft Office 应用程序)。Shdocvw.dll 提供与浏览、内置连接、收藏家和历史管理以及图形支持相关的功能。这个DLL 也向它的宿主提供接口以便可以像一个 ActiveX 控件一样被单独引用。Shdocvw.dll 组件更经常作为 WebBrowser 控件被引用。内置连接是指点击已加载文档中的 HTML 链接,然后在 WebBrowser 控件的同一实例中加载一个新的 HTML 文档的能力。如果只引用了 Mshtml.dll,点击链接导致新的浏览器实例产生。
  Mshtml.dll 是在 Internet Explorer 4.0 或更高版本中进行 HTML 语法分析和翻译的组件,同时通过动态 HTML对象模型提供 HTML 文档。这个组件引用脚本引擎、Microsoft 虚拟机、ActiveX 控件、插件以及它加载的 HTML 文档可能引用的其它对象。Mshtml.dll 实现 Active Document 服务器接口,这样,就能通过标准 COM 接口引用它。
  使用框架时,Shdocvw.dll 又被 Mshtml.dll 引用,这样就形成了第归。这种情况下,每一个帧都是一个引用 Mshtml.dll 的 Shdocvw.dll 的实例。
  由于这是一个基于 OLE 的体系结构,ActiveX 控件常用的周边属性也同样适用于 Internet Explorer 组件。通过这种方式,WebBrowser 控件的宿主可以设置周边属性以过滤加载的文档引用的所有帧和控件。
选择正确的组件控件
  WebBrowser 控件提供丰富的宿主需要的典型功能,如内置连接等。这样,对大多数浏览或查看 HTML 文档的应用程序而言,引用 WebBrower 比引用 MSHTML 更合适。只有特殊的,例如,对 HTML 进行语法分析的应用程序我们建议引用 MSHTML。

本文来源:http://www.gdgbn.com/bangongshuma/8469/