网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 软件工程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
本月文章推荐
.软件需求的关键:分解用例场景.
.升级到SQL Server 2005 的10大理.
.微软软件开发技术二十年回顾.
.面向服务的体系结构SOA简介.
.Apache中的挂钩剖析(1).
.软件的架构与设计模式之层次原则.
.为什么要用UML建模之建模原理.
.应用程序设计指南:从N层到 .NET.
..NET框架和VS.NET中的SOAP.
.深入探讨.NET中的钩子技术.
.游戏引擎剖析(七).
.成功实施SOA COSCON扬帆远航.
.“诡秘”病毒化身刘德华 黑客可任.
.冷静面对SOA的中间件.
.Lotus——通信、协作和工作效率.
.浅析校校通工程中项目管理.
.如何导入服务导向架构 SOA.
.Microsoft .NET让新一代因特网变.
.模式和框架简介.
.Vista新技术:WCF开发指南之客户.

IE编程简述之“两”个WebBrowser

发表日期:2008-3-23



  一般的机器上总是存在着“两”个WebBrowser,一个叫WebBrowser,另一个叫WebBrowser_V1,其CLASSID如下:

CLASS_WebBrowser: TGUID = '{8856F961-340A-11D0-A96B-00C04FD705A2}';
CLASS_WebBrowser_V1: TGUID = '{EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}';

  它们分别对应的接口是IWebBrowser2和IWebBrowser。问题是我们该用哪一个呢?

  按照微软的推荐,应该尽量使用前者,因为后者是为兼容Internet EXPlorer 3.x而保留的(尽管它能够响应来自Internet Explorer 3.x、4.x、5.x、6.x的事件),相应的IWebBrowser和IWebBrowserApp接口也应抛弃。

  由于Internet Explorer 3.x年代久远,导致WebBrowser_V1提供的事件少得可怜,但值得一提的是它提供的两个事件OnNewWindow和OnFrameBeforeNavigate有着与OnBeforeNavigate几乎相同的参数:

OnBeforeNavigate(BSTR URL,long Flags,BSTR TargetFrameName,VARIANT* PostData,BSTR Headers,BOOL FAR* Cancel)

OnNewWindow(BSTR URL,long Flags,BSTR TargetFrameName,VARIANT* PostData, BSTR Headers,BOOL FAR* Processed)

OnFrameBeforeNavigate(BSTR URL,long Flags,BSTR TargetFrameName,VARIANT* PostData,BSTR Headers,BOOL FAR* Cancel)
  所以使用WebBrowser_V1使得我们的浏览器在有新窗口打开时能够轻易捕捉到其URL及相关的数据,假如将Processed设置为TRUE,则可取消新窗口的弹出。同样,处理Frame也比在WebBrowser中来得轻易。

  但WebBrowser_V1的致命弱点是它不支持高级接口,如IDocHostUIHandler,即便我们实现了IDocHostUIHandler接口,也不会被WebBrowser_V1调用。所以希望在自己的浏览器中实现XP的界面主题、扩展IE的DOM(Document Object Model)等高级控制的话,就肯定不能选择WebBrowser_V1了。

  处理新窗口实在是很麻烦的一件事,不知道微软为什么在新版本的OnNewWindow2事件中去掉了URL这样的参数,而且OnNewWindow2事件不能完全捕捉到所有的新窗口打开。但假如安装了Windows XP SP2的话,好处又回来了。

  Windows XP SP2对Internet Explorer 6作了升级,并且提供了一个新的事件OnNewWindow3,它在OnNewWindow2事件之前发生,也包含了让我们能够加以过滤处理的新窗口的URL等参数,再加上INewWindowManager接口,就是实现Windows XP SP2中过滤广告窗口功能的基础。
上一篇:嵌入式操作系统课程作业之Write OS 人气:583
下一篇:采用简化原型法进行需求分析 人气:480
浏览全部软件工程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐