正在阅读:Internet Explorer编程简述(一)Internet Explorer编程简述(一)

2004-09-17 14:46 出处:CSDN 作者:CathyEagle 责任编辑:linjixiong

  一直对Microsoft Internet Explorer编程非常感兴趣,曾花了不少时间琢磨,也与众多网友讨论过问题,2000年将心得写成一篇《TWebBrowser编程简述》,发表在自己的个人主页“阿甘的家”上,得到了不少网友的回应,也被许多网站转载。此后相当长的时间内不断回答网友的提问,收获良多。

  其间正是多窗口浏览器全面开花的日子,无奈手头事情太多,我的作品Multiple iExplorer也一直未能问世,至今遗憾。后来常与GoSurf的作者交流学习,替他解决了不少问题,也从他那里学到许多。如今GoSurf有了比较固定的用户群,有我一份功劳,算是一种安慰吧,他也一度在GoSurf官方主页上将我列为核心技术支持,但我后来因为工作和学习的关系很少再和他联系,实在惭愧。

  回头再看当时的文章,错误实在不少,认识也比较浅薄,有些问题更是一直没有得到解决,所以我觉得有必要在前文的基础上,花点时间将我积累的关于Internet Explorer编程的问题比较完整地写出来,希望对自己有个交代,对大家有一些帮助。

  是为序。

  Internet Explorer编程简述(一)WebBrowser还是WebBrowser_V1

  你的机器上总是存在着“两”个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)


察看评论详细内容 我要发表评论
作者笔名 简短内容 发表时间
:

键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品