2011-04-12 1 views
8

나는과 같이 구글 크롬의 상황에 맞는 메뉴 항목을 만드는 오전 : OnClickInfo 객체와 탭 개체 :Google 크롬 컨텍스트 메뉴를 통해 마우스 오른쪽 버튼을 클릭 한 요소를 가져 오는 방법은 무엇입니까?

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

onClick 콜백은 두 개의 인수를받습니다. 컨텍스트 메뉴를 호출 할 때 마우스 오른쪽 버튼으로 클릭 한 DOM 요소에 대한 참조가 객체에 포함되어 있지 않은 것 같습니다. 나는 console.logged 두 개체를 가지고 있지만 대상 요소에 대한 참조는 어디에도 보이지 않습니다.

원하는 결과 :

  • 사용자가 편집 가능한 요소를 마우스 오른쪽 클릭은
  • 사용자가 내 상황에 맞는 메뉴 항목 onClick 콜백 내에서
  • , 클릭 부모 내 확장 검색 '형태'요소 상대가 타겟을 마우스 오른쪽 버튼으로 클릭 한 요소로 이동

현재 Chrome은 대상 요소에 대한 참조를 제공하지 않습니다. 누구든지이 한계를 극복 할 방법을 찾았습니까?

답변

8

각 페이지에 콘텐츠 스크립트를 삽입하고 mousedown 이벤트를 수신하고 마지막으로 클릭 한 요소를 기록해야합니다. 그런 다음 상황에 맞는 메뉴 콜백이 호출되면 마지막으로 클릭 한 요소에 대한 정보를 얻기 위해 탭에 sendRequest을 입력해야합니다.

+0

console.log로 기록 하시겠습니까? sendRequest? AJAX 콜을 의미합니까? – Sophivorus