轉(zhuǎn)載:http://www.playes.net/Blog/436.asp

          其實(shí)就是類似當(dāng)安裝完 Flashget 后 Internet Explorer 的右鍵多了“使用網(wǎng)際快車下載”的選項(xiàng)一樣,現(xiàn)在我們的需求是:當(dāng)我們在圖片右鍵時出現(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):

          這個功能適用于 IE 和所有以 IE 為內(nèi)核的第三方瀏覽器,比如 Mathxon。
          “復(fù)制圖像地址(&Z)”后面的符號 Z 為快捷鍵,根據(jù)不沖突又易按的原則,你至少還可以改為:q、w、x。
          contexts 對應(yīng)應(yīng)用對象有:Default、Images、Controls、Tables、Text selection、Anchor、Unknown。
          與 contexts 并列的,還有一個可選的雙字節(jié) Flags,值為 0x1 時,腳本將以窗口對話框方式執(zhí)行。
          如果腳本存在于某 dll 文件的 123 位置,還可以用“Example.dll, 123”這樣的指向來定義。
          快捷鍵

          根據(jù)個人經(jīng)驗(yàn),熟練地使用這個功能,至少可以讓操作快上 80% 的時間,甚至 Flashget 默認(rèn)也沒設(shè)置這個人性化的功能,遺憾。不過我們完全可以修改之,嘿嘿!

          可選項(xiàng)

           

          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.

           

          多種值綜合應(yīng)用是“或”的關(guān)系,比如需要在默認(rèn)和連接時右鍵時顯示,則 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)榇髮懀?/p>

           

          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.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>

           
          posted on 2010-01-27 21:24 -274°C 閱讀(2709) 評論(0)  編輯  收藏 所屬分類: 計算機(jī)綜合web前端

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網(wǎng)站

          關(guān)注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 永丰县| 芒康县| 邢台市| 彭山县| 阳山县| 红桥区| 宝丰县| 嵊泗县| 萨迦县| 大厂| 涟水县| 新田县| 南开区| 镇江市| 巨野县| 康定县| 蕉岭县| 贵阳市| 龙门县| 随州市| 东阿县| 沛县| 和林格尔县| 江陵县| 砀山县| 定兴县| 莎车县| 五华县| 宜都市| 新平| 巴中市| 襄汾县| 巴塘县| 万全县| 武威市| 福建省| 宣汉县| 青海省| 徐水县| 法库县| 新干县|