다음은 내가하고 싶은 일의 예입니다. 여기에 게시하는 목적으로 단순화되었습니다. 실제로 동일한 함수를 호출하는 몇 가지 상황에 맞는 메뉴 항목을 추가하고 싶습니다. 그리고 함수 내에서 호출 된 함수를 구별 할 수 있기를 원합니다.Google 크롬 확장 프로그램 및 상황에 맞는 메뉴 : 하나의 기능을 여러 용도로 사용하는 방법은 무엇인가요?
이 예에서는 bit.ly
으로 연결을 단축하는 문맥과 tinyURL
을 사용하는 문맥 메뉴 항목을 추가합니다.
chrome.contextMenus.create({'title': 'Shorten with bit.ly',
'contexts': ['all'],
'onclick': shortenLink});
chrome.contextMenus.create({'title': 'Shorten with tinyURL',
'contexts': ['all'],
'onclick': shortenLink});
수신 기능은 다음과 같이 보입니다, 기본적으로 모두 info
및 tab
는 요청과 함께 전송됩니다,하지만 난 단지에서 함수를 호출하는 상황에 맞는 메뉴를 알아낼 수 있다고 생각하지 않습니다. 여기
function shortenLink(info, tab){
}
은 콘솔이 두 변수의 덤프입니다 : 내가 각 항목에 대한 별도의 기능을 설정할 수 있습니다 알고
Picture.png http://img198.imageshack.us/img198/354/picturedw.png
,하지만 추가 할 컨텍스트 메뉴 항목이 많이있다 그들 모두는 동일한 코드를 많이 공유하기 때문에 모두가 사용하는 하나의 "디스패치"기능 만 갖고 싶습니다. 어떻게해야합니까?
편집
은 아마 내가이 menuItemId
변수를 사용하여 호출 무슨 메뉴 항목을 알아낼 수 있지만, 내가 추가 매개 변수 또는 {method:'bitly'}
과 같은 몇 가지 추가 데이터를 전달 할 수 있습니까?
감사합니다! 아직 테스트하지 않았지만 멋지다! – cwd