在浏览器右键添加自定义菜单
生活随笔
收集整理的這篇文章主要介紹了
在浏览器右键添加自定义菜单
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
其實(shí)就是類似當(dāng)安裝完 Flashget 后 Internet Explorer 的右鍵多了“使用網(wǎng)際快車下載”的選項(xiàng)一樣,現(xiàn)在我們的需求是:當(dāng)我們在圖片右鍵時(shí)出現(xiàn)“復(fù)制圖像地址”的選項(xiàng)。
其實(shí)很簡單,先把下列代碼存為 abc.reg 并導(dǎo)入:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\復(fù)制圖像地址(&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>
重啟你的瀏覽器就可以用了。
要注意幾點(diǎn):
這個(gè)功能適用于 IE 和所有以 IE 為內(nèi)核的第三方瀏覽器,比如 Mathxon。
“復(fù)制圖像地址(&Z)”后面的符號(hào) Z 為快捷鍵,根據(jù)不沖突又易按的原則,你至少還可以改為:q、w、x。
contexts 對應(yīng)應(yīng)用對象有:Default、Images、Controls、Tables、Text selection、Anchor、Unknown。
與 contexts 并列的,還有一個(gè)可選的雙字節(jié) Flags,值為 0x1 時(shí),腳本將以窗口對話框方式執(zhí)行。
如果腳本存在于某 dll 文件的 123 位置,還可以用“Example.dll, 123”這樣的指向來定義。
快捷鍵
根據(jù)個(gè)人經(jīng)驗(yàn),熟練地使用這個(gè)功能,至少可以讓操作快上 80% 的時(shí)間,甚至 Flashget 默認(rèn)也沒設(shè)置這個(gè)人性化的功能,遺憾。不過我們完全可以修改之,嘿嘿!
可選項(xiàng)Value Constant_Name Description
0x01 CONTEXT_MENU_DEFAULT Shown on all context menus.
0x02 CONTEXT_MENU_IMAGE Context menu of p_w_picpaths 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 p_w_picpaths in a selected region.
0x20 CONTEXT_MENU_ANCHOR Context menu of links only. Does not include linked p_w_picpaths or p_w_picpath maps.
0x40 CONTEXT_MENU_UNKNOWN Right-click on none of the above.
多種值綜合應(yīng)用是“或”的關(guān)系,比如需要在默認(rèn)和連接時(shí)右鍵時(shí)顯示,則 contexts=0x21;想單獨(dú)在圖片上顯示,則 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>
下面例子可以將選中文字變?yōu)榇髮?#xff1a;
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 并導(dǎo)入就可以了:
Windows Registry Editor Version 5.00 [-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\復(fù)制圖像地址(&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\復(fù)制圖像地址(&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. {
??? 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>
原文:http://www.playes.net/Blog/436.asp
其實(shí)很簡單,先把下列代碼存為 abc.reg 并導(dǎo)入:
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\復(fù)制圖像地址(&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>
重啟你的瀏覽器就可以用了。
要注意幾點(diǎn):
這個(gè)功能適用于 IE 和所有以 IE 為內(nèi)核的第三方瀏覽器,比如 Mathxon。
“復(fù)制圖像地址(&Z)”后面的符號(hào) Z 為快捷鍵,根據(jù)不沖突又易按的原則,你至少還可以改為:q、w、x。
contexts 對應(yīng)應(yīng)用對象有:Default、Images、Controls、Tables、Text selection、Anchor、Unknown。
與 contexts 并列的,還有一個(gè)可選的雙字節(jié) Flags,值為 0x1 時(shí),腳本將以窗口對話框方式執(zhí)行。
如果腳本存在于某 dll 文件的 123 位置,還可以用“Example.dll, 123”這樣的指向來定義。
快捷鍵
根據(jù)個(gè)人經(jīng)驗(yàn),熟練地使用這個(gè)功能,至少可以讓操作快上 80% 的時(shí)間,甚至 Flashget 默認(rèn)也沒設(shè)置這個(gè)人性化的功能,遺憾。不過我們完全可以修改之,嘿嘿!
可選項(xiàng)Value Constant_Name Description
0x01 CONTEXT_MENU_DEFAULT Shown on all context menus.
0x02 CONTEXT_MENU_IMAGE Context menu of p_w_picpaths 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 p_w_picpaths in a selected region.
0x20 CONTEXT_MENU_ANCHOR Context menu of links only. Does not include linked p_w_picpaths or p_w_picpath maps.
0x40 CONTEXT_MENU_UNKNOWN Right-click on none of the above.
多種值綜合應(yīng)用是“或”的關(guān)系,比如需要在默認(rèn)和連接時(shí)右鍵時(shí)顯示,則 contexts=0x21;想單獨(dú)在圖片上顯示,則 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>
下面例子可以將選中文字變?yōu)榇髮?#xff1a;
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 并導(dǎo)入就可以了:
Windows Registry Editor Version 5.00 [-HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\復(fù)制圖像地址(&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\復(fù)制圖像地址(&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. {
??? 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>
原文:http://www.playes.net/Blog/436.asp
轉(zhuǎn)載于:https://blog.51cto.com/508239/218260
總結(jié)
以上是生活随笔為你收集整理的在浏览器右键添加自定义菜单的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab 波士顿矩阵,怎么报考Qbu
- 下一篇: C++运用类函数创造对象,求自定义边长的