转载:http://www.playes.net/Blog/436.asp
其实就是类似当安装完 Flashget 后 Internet Explorer 的右键多了“使用网际快车下载”的选项一样,现在我们的需求是:当我们在图片右键时出现“复制图像地址”的选项。
其实很简单,先把下列代码存为 abc.reg 并导入:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\复制图像地址(&Z)]
@="C:\\CopyImageUrl.htm"
"contexts"=dword:00000002
并把下列代码存为 C:\CopyImageUrl.htm:
<script language="javascript" defer>
var Elem=external.menuArguments.event.srcElement;
var imgUrl='';
if(Elem.tagName=='IMG') imgUrl=Elem.src;
else if(Elem.tagName=='A'){
var cElem=Elem.children;
if(cElem.length){
for(i=0; i<=cElem.length-1; i++){
if(cElem[i].tagName=='IMG') imgUrl=cElem[i].src;
break;
}
}
}
if(imgUrl) clipboardData.setData('text',imgUrl)
</script>
重启你的浏览器就可以用了。
要注意几点:
这个功能适用于 IE 和所有以 IE 为内核的第三方浏览器,比如 Mathxon。
“复制图像地址(&Z)”后面的符号 Z 为快捷键,根据不冲突又易按的原则,你至少还可以改为:q、w、x。
contexts 对应应用对象有:Default、Images、Controls、Tables、Text selection、Anchor、Unknown。
与 contexts 并列的,还有一个可选的双字节 Flags,值为 0x1 时,脚本将以窗口对话框方式执行。
如果脚本存在于某 dll 文件的 123 位置,还可以用“Example.dll, 123”这样的指向来定义。
快捷键
根据个人经验,熟练地使用这个功能,至少可以让操作快上 80% 的时间,甚至 Flashget 默认也没设置这个人性化的功能,遗憾。不过我们完全可以修改之,嘿嘿!
可选项
Value Constant_Name Description
0x01 CONTEXT_MENU_DEFAULT Shown on all context menus.
0x02 CONTEXT_MENU_IMAGE Context menu of images only.
0x04 CONTEXT_MENU_CONTROL Context menu of form controls only.
0x08 CONTEXT_MENU_TABLE Context menu of tables only.
0x10 CONTEXT_MENU_TEXTSELECT Context menu of selected text only, including images in a selected region.
0x20 CONTEXT_MENU_ANCHOR Context menu of links only. Does not include linked images or image maps.
0x40 CONTEXT_MENU_UNKNOWN Right-click on none of the above.
多种值综合应用是“或”的关系,比如需要在默认和连接时右键时显示,则 contexts=0x21;想单独在图片上显示,则 contexts=0x02 了。
举例
下面例子可以将页面在新窗口显示:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Show in New Window]
@="file://c:\\example2.htm"
"Contexts"=dword:00000001
c:\example2.htm
<SCRIPT LANGUAGE="JavaScript" defer>
window.open(external.menuArguments.location.href);
</SCRIPT>
下面例子可以将选中文字变为大写:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\My &Menu Item]
@="file://c:\myscript.htm"
"Contexts"=dword:00000001
c:\myscript.htm
<SCRIPT LANGUAGE="JavaScript" defer>
var parentwin = external.menuArguments;
var doc = parentwin.document;
var sel = doc.selection;
var rng = sel.createRange();
var str = new String(rng.text);
if(str.length != 0) rng.text = str.toUpperCase();
</SCRIPT>
删除
将下列代码存为 unreg.reg 并导入就可以了:
Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\复制图像地址(&Z)]
参考
About the Browser
http://windowssdk.msdn.microsoft.com/en-gb/library/ms629731.aspx
Adding Entries to the Standard Context Menu
http://msdn.microsoft.com/library/default.asp?url=/workshop/browser/ext/tutorials/context.asp
如何在右键菜单添加“拷贝图像地址”
http://forum.maxthon.com/index.php?showtopic=13228&st=0&p=87259
目前自己用的:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt]
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\复制图像地址(&Z)]
@="D:\\Afly\\CopyImg.html"
"contexts"=dword:00000002
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\打开图像(&W)]
@="D:\\Afly\\OpenImg.html"
"contexts"=dword:00000002
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\播放该音乐(&M)]
@="D:\\Afly\\OpenMusic.html"
"Contexts"=dword:00000022
[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\查询单词(&D)]
@="D:\\Afly\\OpenDict.html"
"contexts"=dword:00000030
<script language="javascript" defer>
var rng = external.menuArguments.document.selection.createRange();
var str = new String(rng.text);
if(str.length == 0) str=external.menuArguments.event.srcElement.innerText;
window.open("http://sh.dict.cn/search/?q="+str,"_search");
</script>
<script language="javascript" defer>
var Elem=external.menuArguments.event.srcElement;
var imgUrl='';
var rng = external.menuArguments.document.selection.createRange();
var str = new String(rng.text);
if(Elem.tagName=='IMG') imgUrl=Elem.src;
else if(Elem.tagName=='A'){
var cElem=Elem.children;
if(cElem.length){
for(i=0; i<=cElem.length-1; i++){
if(cElem[i].tagName=='IMG') imgUrl=cElem[i].src;
break;
}
}
}
else if(str.length != 0){
imgUrl = str;
}
if(imgUrl) eval('wi'+'ndow.op'+'en(imgUrl,"_blank")');
</script>
<script language="javascript" defer>
var Elem=external.menuArguments.event.srcElement;
var MusicUrl="";
if(Elem.tagName=='IMG'){
MusicUrl=Elem.parentElement.href;
}
if(Elem.tagName=='A'){
MusicUrl=Elem.href;
}
window.open("file://D:/Afly/Player.html?"+MusicUrl,'_blank','status=no,resizable=yes,width=350,height=250,left=250,top=130');
//encodeURIComponent(MusicUrl)
</script>
<html>
<head>
<script language="javascript">
var url = document.location.search.substr(1);
window.onload=function() {
if(url)WMP.URL=url;WMP.play();
}
</script>
</head>
<body style="margin:0;padding:0">
<div id="MusicBox" class="SideContent">
<object classid="clsid:6BF52A52-394A-11D3-B153-00C04F79FAA6" id="WMP" width="100%" height="100%">
<param name="URL" value="" />
<param name="autoStart" value="1" />
<param name="playCount" value="3" />
<param name="rate" value="1" />
<param name="enabled" value="1" />
<param name="invokeURLs" value="-1" />
<param name="volume" value="50" />
<param name="mute" value="0" />
<param name="uiMode" value="full" />
<param name="stretchToFit" value="0" />
<param name="windowlessVideo" value="1" />
<param name="enableContextMenu" value="1" />
<param name="fullScreen" value="0" />
<param name="enableErrorDialogs" value="0" />
</object>
</div>
</body>
</html>
分享到:
相关推荐
在IT行业中,自定义右键菜单效果是一种常见的增强用户体验的技术,尤其在网页和桌面应用程序中。这个主题涉及到JavaScript、CSS以及可能的HTML等前端技术。QQ邮箱作为一个知名的在线邮件服务,其用户界面设计通常...
5. **样式调整**:为了使自定义菜单看起来更像原生,可以添加CSS样式来调整菜单的外观,包括背景色、边框、字体、阴影等。确保其与网页的其他部分保持一致。 通过以上步骤,我们可以实现一个基本的JS自定义右键菜单...
在这个例子中,我们阻止了浏览器的默认右键菜单行为,并在`contextmenu`事件触发时显示了一个包含“添加节点”和“删除节点”选项的自定义菜单。根据需要,你可以扩展这些功能以满足实际应用的需求。 总的来说,...
3. 创建自定义菜单,这可能是一个浮动的div元素,包含多个操作选项,如删除当前覆盖物。 4. 为每个菜单项绑定点击事件,根据用户的选择执行相应的操作,如删除特定覆盖物。 在这个项目中,`map.html`文件很可能是...
在IT行业中,尤其是在Web开发领域,用户交互设计是至...而在SVG中,我们可以结合CSS和JavaScript创建自定义菜单,以提供更丰富的用户体验。这些技术广泛应用于各种Web应用程序,帮助开发者更好地控制用户与网页的互动。
在JavaScript中,右键菜单通常是通过原生浏览器事件来实现的,而在Vue中,我们可以通过监听原生事件或使用第三方插件来创建自定义的右键菜单。以下是使用Vue实现自定义右键菜单的详细步骤: 1. **事件监听**: 在...
在Flash中,开发者经常需要对右键菜单进行自定义操作,包括隐藏默认菜单以及添加自定义菜单项。本文将详细讲解如何实现这一功能。 #### 隐藏默认菜单 在Flash中,默认情况下,用户可以通过右键点击Flash影片来访问...
// 这里可以添加代码来显示自定义菜单 }); ``` 接下来,我们需要创建自定义的菜单。这通常涉及HTML结构和CSS样式。在本项目中,菜单可能是一个`<div>`元素,包含多个表示菜单项的`<li>`元素。例如: ```html ...
为了用自定义菜单替换它,我们需要在事件处理函数中调用`event.preventDefault()`阻止默认的上下文菜单出现。 3. **创建菜单**:菜单可以通过HTML和CSS构建,然后使用JavaScript动态添加到DOM中。可以使用弹出框(`...
3. **创建右键菜单**:在 `contextmenu` 事件的回调函数中,阻止浏览器默认的右键菜单弹出,并自定义我们的菜单。这通常涉及到CSS样式的设计以及DOM元素的创建。可以使用 `event.preventDefault()` 阻止默认菜单,...
为了创建更复杂的自定义菜单,我们可以使用JavaScript来创建DOM元素,模拟出类似浏览器右键菜单的效果。这些元素通常会以弹出框或者下拉菜单的形式出现,用户可以选择其中的项来执行相应的操作。例如,我们可以创建...
html js 屏蔽原有右键功能菜单,自定义右键菜单
本项目“jQuery右键自定义菜单”是利用jQuery实现的一种用户交互功能,允许用户在网页上通过右键点击唤出自定义的上下文菜单。这个功能常见于各种网页应用,提供了一种快捷的操作方式。 1. **jQuery基础**:jQuery...
在网页开发中,有时我们可能希望提供更个性化的用户体验,比如改变默认的浏览器右键菜单。这个项目就提供了这样的功能,它使用了流行的JavaScript库jQuery和原生的JavaScript技术来实现自定义网页右键菜单。下面我们...
在JavaScript(JS)中,自定义右键菜单是一项常见的需求,尤其在网页开发中,它能够为用户提供更个性化的交互体验。本教程将详细介绍如何利用JS实现一个通用且最多支持两级菜单的自定义右键菜单小控件。 首先,我们...
自定义右键菜单在各种场景下都十分实用,比如对于IT专业人员,他们可能需要快速打开命令提示符、注册表编辑器,或者是进行系统维护任务;对于普通用户,可能需要快速启动常用的应用程序或访问特定的文件夹。 在...
在实际应用中,可能还需要考虑浏览器兼容性和响应式设计,确保菜单在不同设备和浏览器上都能正常工作。 压缩包中的“html鼠标右键”文件可能包含了实现这一功能的HTML、JavaScript和CSS代码示例。通过查看这些文件...
我们将通过详细解析鼠标事件的处理、页面元素的操作以及相关的技巧,来构建一个在树状结构子节点上单击右键弹出自定义菜单的效果,且该菜单能够自动根据鼠标位置进行定位,当鼠标点击菜单外任意空白区域时菜单自动...
通过阅读提供的代码,我们可以看到一个简单的JS实现右键弹出自定义菜单的示例。 首先,定义了一个名为`epMenu`的对象,这个对象包含了创建和销毁菜单的方法。`epMenu.create`方法用于创建自定义菜单,它接收两个...
本文将深入探讨如何使用JavaScript实现右键菜单,特别是如何动态添加菜单项,并在菜单项中添加图标、文本以及处理点击事件。此外,我们还将讨论在不同浏览器(如IE、Firefox和Chrome)中的兼容性问题。 首先,右键...