木子屋 Dnawo's BLOG

手动添加IE右键菜单项

👤 dnawo 📅 2008-02-28 👁 8362 👍 0 💬 0 🔄 来源:本站原创
大多数下载软件安装后都在IE右键菜单中添加了新项,如快车、迅雷、脱兔等等,今天我们也来试试看如何在IE右键菜单中添加新项。

首先要说的是,IE右键菜单中所有非系统的菜单项都保存在注册表"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt"项下,它的每个子项就对应着一个右键菜单项,而每个子项除了一个默认值外还得有一个名为contexts的DWORD类型的值。默认值通常为一个本机htm文件绝对地址,里边包含着事件处理脚本,contexts的值代表类型,表示这个自定义菜单项在什么时候出现。

应用:添加一个"显示地址"的菜单项,如果选中的是图片,则显示图片地址;如果选中的是链接,则显示链接的地址;如果选中其他内容则显示Null。

1.在"HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt"添加新项"显示地址";
2.双击默认修改其值为"C:\link.htm";
3."显示地址"下新建DWORD值,名称为contexts,修改其值为十六进制的f3;
4.在C盘下新建一文件link.htm,其内容为:
<script language="javascript">
var srcEvent = external.menuArguments.event;
var EventElement;

if(typeof(srcEvent.clientX) == "undefined")
{
	EventElement = external.menuArguments.document.elementFromPoint ( srcEvent.pointerX, srcEvent.pointerY );
}
else
{
	EventElement = external.menuArguments.document.elementFromPoint ( srcEvent.clientX, srcEvent.clientY );
}
	
if(EventElement != null && EventElement.tagName == "IMG")
{
	 alert("图片地址为:" + EventElement.src);
}
else if(EventElement != null && EventElement.tagName == "A")
{
	alert("链接地址为:" + EventElement.href);
}
else
{
	alert("Null");
}
</script>

好了,打开一个新的IE窗口点击右键看看吧!

contexts值说明

通过contexts可以制订菜单项在右键点击IE中的什么对象时出现,它可感觉以下值的“或”组合:

对象 值
缺省 0x1
图片 0x2
控件 0x4
表单域 0x8
选择文本 0x10
锚点 0x20

如果我们想菜单项在用户点击图片或者超链接时出现,那么我们就将值设置为 dword:00000022。如果不设置Contexts项,则菜单项会在点击任何对象时出现在右键菜单中。

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 Alexa排名数据接口及其参数说明 下一篇 → Javascript风格要素 Ⅰ