2014-12-30 1 views
0

첫 번째 크롬 확장 프로그램을 개발하려는 중이며 문제가 발생했습니다. 첫째로 나는 페이지 작업으로 다음 상용구를 사용하고 있습니다 :chrome.browserAction은 어떻게 작동합니까?

http://extensionizr.com/!#{"modules":["browser-mode","with-persistent-bg","no-bg","with-custom-options","no-override","inject-css","inject-js","jquerymin"],"boolean_perms":["contentSettings","cookies","notifications"],"match_ptrns":[]} 

inject.js에서는, 원격 서버에서 URL 목록을 다운로드 현재 URL을 확인하고 일치하는 경우가 뭔가를해야한다. 알림을 사용하려고했으나 알림은 현재 페이지에서 왔으며 확장 프로그램에서 가져온 것 같지 않습니다. 알림을 시작하면 "아마존에 알림을 사용 하시겠습니까?"라고 표시됩니다. 그런 다음 아이콘을 변경하는 단계로 넘어갔습니다. 나는 결국 둘 다하고 싶다. 그러나 다음을 사용하여 텍스트를 설정하려고 할 때 :

chrome.browserAction.setIcon({path: 'icons/icon128-x.png'}); 

그러나 이것은 콘솔에 있습니다.

Uncaught TypeError: Cannot read property 'setIcon' of undefined 

아이디어가 있으십니까?

답변

1

확장 매니페스트는 chrome.browserAction의 API가 사용할 수 있습니다 전에 "browser_action" 섹션이 필요합니다 :

확장에 브라우저 작업이 좋아 매니페스트 등록 https://developer.chrome.com/extensions/browserAction#manifest에서

{ 
    "name": "My extension", 
    ... 
    "browser_action": { 
    "default_icon": {     // optional 
     "19": "images/icon19.png",   // optional 
     "38": "images/icon38.png"   // optional 
    }, 
    "default_title": "Google Mail",  // optional; shown in tooltip 
    "default_popup": "popup.html"  // optional 
    }, 
    ... 
} 

(.)

관련 문제