internetexplorer编程简述

internetexplorer编程简述

ID:8964815

大小:730.00 KB

页数:52页

时间:2018-04-13

internetexplorer编程简述_第1页
internetexplorer编程简述_第2页
internetexplorer编程简述_第3页
internetexplorer编程简述_第4页
internetexplorer编程简述_第5页
资源描述:

《internetexplorer编程简述》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、InternetExplorer编程简述(一)  一直对MicrosoftInternetExplorer编程非常感兴趣,曾花了不少时间琢磨,也与众多网友讨论过问题,2000年将心得写成一篇《TWebBrowser编程简述》,发表在自己的个人主页“阿甘的家”上,得到了不少网友的回应,也被许多网站转载。此后相当长的时间内不断回答网友的提问,收获良多。  其间正是多窗口浏览器全面开花的日子,无奈手头事情太多,我的作品MultipleiExplorer也一直未能问世,至今遗憾。后来常与GoSurf的作者交流学习,替他解决了不少问题,也从他那里学到许多。如今GoSurf有

2、了比较固定的用户群,有我一份功劳,算是一种安慰吧,他也一度在GoSurf官方主页上将我列为核心技术支持,但我后来因为工作和学习的关系很少再和他联系,实在惭愧。  回头再看当时的文章,错误实在不少,认识也比较浅薄,有些问题更是一直没有得到解决,所以我觉得有必要在前文的基础上,花点时间将我积累的关于InternetExplorer编程的问题比较完整地写出来,希望对自己有个交代,对大家有一些帮助。  是为序。  InternetExplorer编程简述(一)WebBrowser还是WebBrowser_V1  你的机器上总是存在着“两”个WebBrowser,一个叫We

3、bBrowser,另一个叫WebBrowser_V1,其CLASSID如下:  CLASS_WebBrowser:TGUID='{8856F961-340A-11D0-A96B-00C04FD705A2}';  CLASS_WebBrowser_V1:TGUID='{EAB22AC3-30C1-11CF-A7EB-0000C05BAE0B}';  它们分别对应的接口是IWebBrowser2和IWebBrowser。问题是我们该用哪一个呢?  按照微软的推荐,应该尽量使用前者,因为后者是为兼容InternetExplorer3.x而保留的(尽管它能够响应来自Int

4、ernetExplorer3.x、4.x、5.x、6.x的事件),相应的IWebBrowser和IWebBrowserApp接口也应抛弃。  由于InternetExplorer3.x年代久远,导致WebBrowser_V1提供的事件少得可怜,但值得一提的是它提供的两个事件OnNewWindow和OnFrameBeforeNavigate有着与OnBeforeNavigate几乎相同的参数:  OnBeforeNavigate(  BSTRURL,  longFlags,  BSTRTargetFrameName,  VARIANT*PostData,  BSTR

5、Headers,  BOOLFAR*Cancel)  OnNewWindow(  BSTRURL,  longFlags,  BSTRTargetFrameName,  VARIANT*PostData,  BSTRHeaders,  BOOLFAR*Processed)  OnFrameBeforeNavigate(  BSTRURL,  longFlags,  BSTRTargetFrameName,  VARIANT*PostData,  BSTRHeaders,  BOOLFAR*Cancel)  所以使用WebBrowser_V1使得我们的浏览器在有新窗

6、口打开时能够轻易捕捉到其URL及相关的数据,如果将Processed设置为TRUE,则可取消新窗口的弹出。同样,处理Frame也比在WebBrowser中来得容易。  但WebBrowser_V1的致命弱点是它不支持高级接口,如IDocHostUIHandler,即便我们实现了IDocHostUIHandler接口,也不会被WebBrowser_V1调用。所以希望在自己的浏览器中实现XP的界面主题、扩展IE的DOM(DocumentObjectModel)等高级控制的话,就肯定不能选择WebBrowser_V1了。  处理新窗口实在是很麻烦的一件事,不知道微软为什

7、么在新版本的OnNewWindow2事件中去掉了URL这样的参数,而且OnNewWindow2事件不能完全捕捉到所有的新窗口打开。但如果安装了WindowsXPSP2的话,好处又回来了。  WindowsXPSP2对InternetExplorer6作了升级,并且提供了一个新的事件OnNewWindow3,它在OnNewWindow2事件之前发生,也包含了让我们能够加以过滤处理的新窗口的URL等参数,再加上INewWindowManager接口,就是实现WindowsXPSP2中过滤广告窗口功能的基础。InternetExplorer编程简述(二)  Intern

8、etExp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。