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

2004-09-27 15:06 出处:CSDN 作者:CathyEagle 责任编辑:linjixiong

  1、概述
  Internet Explorer提供了非常开发的接口,使开发人员不仅可以把其浏览器核心嵌入应用程序,还可以通过各种接口以实现更深层的控制。本文就将介绍对浏览器进行高级控制的话题之一——自定义上下文菜单。

  2、最简单的情况
  自定义的IE及WebBrowser的上下文菜单,最简单的方式就是在注册表的HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt下添加自定义的键值,步骤如下:
  1)添加一个新的键,其名称即为将来显示在上下文菜单中的菜单项名称,如:
  HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\&Google Search
  2)将新增的键的默认值设置为一个包含脚本的网页的URL(或文件路径全名),该网页中的脚本将在用户点击上下文菜单中的“Google Search”后被浏览器执行。

  3)在新增的键下还可以新建一个二进制值Contexts,用以指定我们新增的菜单项针对特定的网页对象是否出现,其取值可以是如下值的组合(逻辑或)

  Context         Value
  Default         0x1
  Images          0x2
  Controls        0x4
  Tables          0x8
  Text selection  0x10
  Anchor          0x20

  4)还可以建立一个DWORD类型的Flags项并将其值设置为0x01,这将使得前述脚本在一个模态窗口中执行,就好像是通过window.showModalDialog调用的,但不同的是在脚本中仍然可以访问window对象。
  5)实例脚本如下:


  <SCRIPT LANGUAGE="JavaScript" defer>
  open(external.menuArguments.location.href);
  </script>

  通过修改注册表自定义菜单的方法适用于Internet Explorer和WebBrowser,也具有良好的扩展性。但我们如果希望执行的是不仅仅是脚本,二是自己的程序中代码,这种方法就不适用了。

  3、使用完全自定义的菜单
  1)IDocHostUIhandler接口提供了一个ShowContextMenu方法,在需要显示上下文菜单之前,MSHTML引擎就会调用实现了IDocHostUIHandler接口的
  宿主程序的ShowContextMenu方法。

系列文章:Internet Explorer编程简述(一) (二) (三) (四) (五) (六)

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

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

相关文章

关注我们

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