2011-04-12 44 views
8

我創建谷歌瀏覽器右鍵菜單項,像這樣:如何獲取通過Google Chrome上下文菜單右鍵單擊的元素?

chrome.contextMenus.create({ 
"title":"My Context Menu Item", 
"contexts":["editable"], 
"onclick": onClick 
}); 

onClick回調接收兩個參數:一個OnClickInfo對象和標籤對象。這兩個對象都不包含對調用上下文菜單時右鍵單擊的DOM元素的引用。我有這兩個對象都有console.logged,但沒有在任何地方看到對目標元素的任何引用。

期望的結果:

  • 用戶右鍵單擊一個可編輯的元素
  • 用戶點擊我的上下文菜單項
  • onClick回調中,有我的擴展搜索父「形式」元素相對到目標右鍵單元

現在看來,Chrome並沒有提供任何對目標元素的引用。有沒有人找到解決這個限制的方法?

回答

8

您必須在每個頁面中注入內容腳本並偵聽mousedown事件並記錄最後一次點擊的元素。然後,當調用上下文菜單回調時,您必須在該選項卡上輸入sendRequest以獲取有關最後點擊元素的信息。

+0

使用console.log記錄?發送請求?你的意思是一個AJAX調用? – Sophivorus 2016-06-06 01:55:12

相關問題