首頁 web前端 js教程 開發 Internet Explorer 右鍵選單(ContextMenu)_javascript技巧

開發 Internet Explorer 右鍵選單(ContextMenu)_javascript技巧

May 16, 2016 pm 05:30 PM
contextmenu explorer internet

參考MSDN Library【Adding Entries to the Standard Context Menu】開發ContextMenu

1. IE 額外的ContextMenu 是透過註冊機碼HKEY_CURRENT_USERSoftware.MicrosoftInternet ExplorerMenuExt 來建立一個
2
2

SNAG-0003

SNAG-0001


3. 如果我們想要在該功能上可以使用快捷鍵,就如同開發 Windows Form 一樣,只要在英文名稱前加上 & 符號即可。

例如:我們把Key 值從【Make 0rz】改為【&Make 0rz】,則當ContextMenu 出現按M 就是執行該項功能

4. 在該Key 值底下,有一個重要鍵值是Contexts,主要的功能是定義ContextMenu 出現的時機

SNAG-0004


包含:Default(預設載入)、Images(在圖片上)、Control(任一控制項上)、Tables(在表格格上)、Text selection(純文字反白選擇時)、Anchor(在連結上)

如果ContextMenu 要包含兩種以上的出現時機,則將value 自行做logic or 計算再帶入即可

例如:在本在範例中,我們可以新增一個DWORD 型態,名稱Contexts、值為23 的鍵值。則表示該 ContextMenu 【預設載入】、【在連結上】、【在圖片上】按下右鍵,就會出現【Make 0rz】的功能。

5. 另外還有(Default) 這個鍵值,該鍵值填入的內容就是用戶執行ContextMenu 功能時交給誰來處理,可能是.html、.exe、.dll….等等。

例如本範例中,我想要呼叫 javascript 來執行功能,所以就填入【file://C:Program FilesMake0rz.js】

SNAG-0007

6. 這樣大致上,就算是完成註冊機碼的部份。我們透過製作 .reg 檔案方便讓使用者來進行安裝,以下是本範例 RegMake0rz.reg 檔案:

程式碼如下:

 Windows

 [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt&Make 0rz]
@="file://C:\Program Files\Make0rz.js" 
"Contexts"=dword:00000rz.js" 
"Contexts"=dword:00000023

 7. 以下是 Make0rz.js 的內容:

複製程式碼 程式碼如下:

     
  var obj = external.menuArguments.event.srcElement;
  var str = obj.tagName
;
  var str = obj.tagName
;
. 'A' || str.toUpperCase() == 'IMG ') {
    if (str.toUpperCase() == 'A') {
      if (external.menuArguments.event.shift) {        str = obj.firstChild.nodeValue;
      }
           }
    }
    else {
      字符串列= external.menuArguments.event.srcElement.href;
}
  }
  else {
    if (str ;
      if (trim(str) == '') {
        str = external.menuArguments.location.href;  //var width = 600;
  //var height = 600;

  // 無廣告
  var url = 'http://0rz.tw/createget? redirect =0&url='encodeURIComponent(str);
  var width = 160;
  var height = 90;

  var left = (screen.width - 寬度)
  var left = (screen.width - 寬度)
  var left = (screen.width - 寬度) / = (screen.height - 高度) / 2;
  var cmd = 'width='寬度', height='高度', top='頂部', left='左;
  cmd = ',directories= no , location=no, menubar=no, ressized=no, 捲軸=否,狀態=否,工具列=否';

  newwin = window.open(url, 'windowname5', cmd);
  if (window.focus) {
    newwin.focus( )
  }

  function trim(strValue) {
 🎜 >    var regR = /[?@s] $/;
strValue = strValue.replace(regL, "");
    strValue = strValue.replace(regR, "");

  }  
  腳本>

由於,在Contexts 的value 設定為0x23,所以表示【預設載入】、【在連結上】、【在圖片上】按下右鍵,就會出現【Make 0rz】的功能。
【預設載入】:在頁面空白處,按下右鍵執行 ContextMenu 的【Make 0rz】,表示目前頁面連結進行縮短網址。
【在連結上】:在文字連結上,按下右鍵執行 ContextMenu 的【Make 0rz】,表示該文字連結進行縮短網址。
【預設載入】:在圖片連結或圖片上,按下右鍵執行 ContextMenu 的【Make 0rz】,表示圖片位置進行縮短網址。

在javascript 當中,利用external.menuArguments.event,來判斷使用者在何種時機按下右鍵並取得該元素
利用external.menuArguments.event.srcElement.href 取得該元素的連結
利用external.menuArguments.location.href 取得目前頁面的連結

然後利用window.open 來開啟0rz.tw 目標頁面,來顯是縮短網址後的結果。
如果是執行程式碼的 30 – 33 的話,表示有預覽畫面 (Preview);執行 35-38 則無預覽畫面。 (可依需求自由調整)

8. 實際成果貼圖:
(1) 在空白處,按下右鍵執行 ContextMenu 的【Make 0rz】,表示目前頁面連結進行縮短網址。 (以 No Preview 功能呈現)

SNAG-0009

http://tw.msn.com/?ocid=iehp => http://0rz.tw/KR9Hf

SNAG-0010

(2) 在文字連結(新 聞)上,按下右鍵執行 ContextMenu 的【Make 0rz】,表示該文字連結進行縮短網址。 (以 Preview 功能呈現)

SNAG-0008

http://news.msn.com.tw/ => http://0rz.tw/7d2H6

SNAG-0011

(3) 在圖片連結或是圖片上,按下右鍵執行 ContextMenu 的【Make 0rz】,表示圖片位置進行縮短網址。

SNAG-0012

http://sin.stb01.s-msn.com/i/53/79D3A7E9A23E21C6A510F09720CD2.jpg => http://0rz.tw/JlTDN
http://0rz.tw/JlTDN
點此下載,壓縮檔案包含:RegMake0rz.reg 註冊機碼安裝檔、Make0rz.js 功能執行檔、DelMake0rz.reg 註冊機碼反安裝檔

安裝:執行RegMake0rz .reg,自行將Make0rz.js 放置於C:Program Files 目錄下

反安裝:執行DelMake0rz.reg,自行將C:Program FilesMake0rz.js 檔案刪除
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

Rimworld Odyssey溫度指南和Gravtech
1 個月前 By Jack chen
Rimworld Odyssey如何釣魚
1 個月前 By Jack chen
我可以有兩個支付帳戶嗎?
1 個月前 By 下次还敢
初學者的Rimworld指南:奧德賽
1 個月前 By Jack chen
PHP變量範圍解釋了
3 週前 By 百草

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Laravel 教程
1603
29
PHP教程
1508
276
如何修復 Explorer.exe 高 CPU 使用率 Windows 11 如何修復 Explorer.exe 高 CPU 使用率 Windows 11 May 02, 2023 am 09:40 AM

與Windows11中Explorer.exe高CPU使用率的問題不同,一台電腦可能會遇到高CPU使用率。這是完全正常的,只要它很少發生並且不會顯著影響PC的性能。然而,當它反覆出現時,這會成為一個問題。它可能會使系統升溫,延遲載入時間,並可能在您處理重要任務時凍結。為什麼我的電腦會遇到Explorer.exe高CPU使用率?通常,由於以下原因之一,電腦可能會遇到高CPU使用率:運行需要更高CPU要求的程式:影片編輯和遊戲軟體會觸發高CPU使用率。如果在與發布

explorer.exe應用程式錯誤如何解決 explorer.exe應用程式錯誤如何解決 Jun 21, 2023 pm 02:14 PM

explorer.exe應用程式錯誤的解決方法:1、按下鍵盤上的「win」+「R」組合鍵,再開啟的運行視窗中輸入命「inetcpl.cpl」;2、在上方選擇「進階」選項卡,在下方點擊“重置”;3、在彈出來的視窗中,勾選“刪除個人設定”,勾選後點擊下面的“重置”。如果以上操作無法解決問題,請檢查電腦是否有木馬,這個時候建議重裝系統,安裝一個原版或純淨版的系統。

如何在沒有 Internet 連線的情況下設定 Windows 11 如何在沒有 Internet 連線的情況下設定 Windows 11 Apr 15, 2023 am 10:46 AM

從內部版本22557及更高版本開始,Windows11需要Internet連接才能完成首次設置,也稱為家庭版和專業版的開箱即用體驗(OOBE),儘管有一種方法可以繞過此要求完全。由於微軟希望用戶將他們的電腦連接到他們的微軟帳戶,該公司正在對最初的Windows11設定進行更改,這將使得幾乎不可能在沒有網路連線的情況下繼續執行全新安裝。或者,如果設定偵測到裝置沒有網路連接,您將被傳送到糟糕,您遺失了網路連線畫面。如果您按一下重試選項,您將看到再次連線到Internet

Internet Explorer 開啟 Edge:如何停止 MS Edge 重新導向 Internet Explorer 開啟 Edge:如何停止 MS Edge 重新導向 Apr 14, 2023 pm 06:13 PM

長期以來,InternetExplorer的失寵一直不是秘密,但隨著Windows11的到來,現實開始了。 Edge將來不再有時取代IE,它現在是微軟最新作業系統中的預設瀏覽器。目前,您仍然可以在Windows11中啟用InternetExplorer。但是,IE11(最新版本)已經有了一個正式的退役日期,即2022年6月15日,時間在流逝。考慮到這一點,您可能已經注意到InternetExplorer有時會打開Edge,而您可能不喜歡它。那為什麼會這樣呢?在

什麼是公網ip 什麼是公網ip Sep 27, 2021 am 10:30 AM

公網ip是指用公網連接Internet上的非保留位址,可以與Internet上的其他電腦隨意互相存取。網路上的每台計算機都有一個獨立的IP位址,該IP位址唯一確定網路上的一台計算機,這個IP位址就是指的公有IP位址。

一個時代的結束:Internet Explorer 11 已退役,這是你需要知道的 一個時代的結束:Internet Explorer 11 已退役,這是你需要知道的 Apr 20, 2023 pm 06:52 PM

2022年6月15日是Microsoft結束對InternetExplorer11(IE11)的支援並關閉其舊版瀏覽器章節的日子。一段時間以來,該公司一直在提醒用戶注意這一生命週期結束日期,並呼籲他們計劃遷移到MicrosoftEdge。 Microsoft將IE11與Windows8.1捆綁在一起,作為Windows的現代預設網頁瀏覽器。儘管它從未達到Chrome的(目前)高度,但它是2014年使用量第二大的桌面瀏覽器,僅次於IE8。當然,隨著20

internet的通訊協定是什麼? internet的通訊協定是什麼? Dec 24, 2020 pm 02:53 PM

Internet採用的主要通訊協定是“TCP/IP協定”,TCP/IP傳輸協議,即傳輸控制/網路協議,也叫作網路通訊協定;它是在網路的使用中的最基本的通訊協議,TCP/ IP傳輸協定對網際網路中各部分進行通訊的標準和方法進行了規定。

win11無法上網的問題如何解決?處理win11電腦無法連線到internet的方法指南 win11無法上網的問題如何解決?處理win11電腦無法連線到internet的方法指南 Jan 29, 2024 pm 08:57 PM

我們在使用電腦的時候都會連接到網絡,有了網絡我們才能上網衝浪,近期也有不少的用戶們在詢問小編win11無法連接到internet怎麼解決?用戶可以直接的打開系統給出的最佳匹配服務應用來進行設置,下面就讓本站來為用戶們來仔細的介紹一下win11電腦無法訪問internet的解決方法吧。 win11電腦無法存取internet的解決方法方法一:可以按下Win+S組合鍵,或點選底部任務欄旁的搜尋圖標,開啟Windows搜尋視窗。在搜尋框中輸入"服務",然後點選開啟系統給予的最佳配對服務應用程式。方法二

See all articles