转载:http://www.playes.net/Blog/436.asp
其实就是类似当安装完 Flashget 后 Internet Explorer 的右键多了“使用网际快车下载”的选项一样,现在我们的需求是:当我们在图片右键时出现“复制图像地址”的选项。
其实很简单,先把下列代码存为 abc.reg 并导入:






并把下列代码存为 C:\CopyImageUrl.htm:























重启你的浏览器就可以用了。
要注意几点:
这个功能适用于 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 默认也没设置这个人性化的功能,遗憾。不过我们完全可以修改之,嘿嘿!
可选项








多种值综合应用是“或”的关系,比如需要在默认和连接时右键时显示,则 contexts=0x21;想单独在图片上显示,则 contexts=0x02 了。
举例
下面例子可以将页面在新窗口显示:






c:\example2.htm



下面例子可以将选中文字变为大写:






c:\myscript.htm












删除
将下列代码存为 unreg.reg 并导入就可以了:




参考
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
目前自己用的:





















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 >