1

우리는 앱용 크롬 확장을 만들었습니다. 탐색 바에 배치 된 "확장 아이콘"의 CLICK 이벤트에서 "js 파일"에서 METHOD를 호출하는 곳입니다. 이를 위해 우리는 app.js (아이콘 클릭에서 호출 될 METHOD를 포함하는 파일)와 background.html (이 html에 포함 된 js 파일 사용) 사이에서 메시지 전달을 사용합니다. 예상대로탐색 모음에 addon 아이콘에 클릭 이벤트 할당

chrome.extension.onMessage.addListener(function(request) { 
    if (request === "showPopup") { 
     showPopup(); 
    } 
}); 

click 이벤트가 작동 (app.js에) : (background.html에서)

chrome.browserAction.onClicked.addListener(function (tab) { 
    chrome.tabs.sendMessage(tab.id, "showPopup"); 
}); 

하고 메시지를 듣고 : 메시지를 전달하는 데 사용되는 스크립트입니다. 하지만 이제는 mozilla 확장에서 동일한 작업을 수행하려고합니다. 아이콘을 클릭하면 app.js에 메시지를 전달할 수 없으므로 포함 된 메소드를 실행할 수 있습니다.

우리는 또한 pageMod이

exports.main = function(options, callbacks) { 
    pageMod.PageMod({ 
    include: ["*"], 
    contentScriptWhen: 'start', 
    contentScriptFile: [data.url('jquery-1.7.1.min.js'),data.url('app.js')]  
    }); 
    createAndAddNavBarButton(); 
}; 

function createAndAddNavBarButton() { 
    var navBar = document.getElementById('nav-bar');//assume document has been defined 
    if (!navBar){return;};  
    var nbBtn = document.createElement('navbaricon');  
     nbBtn.setAttribute('id', 'navButton'); 
     nbBtn.setAttribute('image', data.url('icon_16.png'));   
     nbBtn.onclick = function(){ 
      showPopup();      
      return true; 
     }  
    navBar.appendChild(btn); 
} 

같은 그러나 클릭 이벤트가 아무것도 showPopup()를 정의되지하지 않습니다를 사용하여 app.js를 추가했습니다. 새 페이지에 app.js와 연결된 이벤트가로드 될 때 오류없이 실행되지만 click 이벤트가 작동하지 않습니다.

크롬 확장의 경우처럼이 아이콘에 클릭 이벤트를 직접 할당 할 수있는 방법이 있습니까?

답변

0

메시지 전달을 통해 app.js 스크립트에 메시지를 보낼 수있었습니다. 우리가해야 할 일은 메시지 전달 범위 내에서 app.js 파일을 추가하여 자바 스크립트와 통신 할 수 있도록하는 것입니다.

nbBtn.addEventListener('click', function() { 
    var workers = tabs.activeTab.attach({      
     contentScriptFile: [ data.url("jquery-1.7.1.min.js"), data.url("app.js")] 
    }); 
    workers.postMessage("doABC"); 
}, false) 

navBar.appendChild(nbBtn); 

이제 app.js에서 우리는이 메시지가 팝업이 링크 도움이 내 문제를 해결하는 방법을 확실하지

1

많은 추가 기능은 에릭 Vold 사용자에 의해이 제 3 자 모듈을 사용 : 향후

https://github.com/erikvold/toolbarbutton-jplib/

우리는 애드온 개발자가 사용하기 위해 파이어 폭스와 유사한 위젯을 추가 할 계획을 가지고있다.

+0

을 표시 할 수 있습니다. 이것은 어떤 종류의 해결책인가 아니면 단지 정보인가? – Wasim

+0

그것은 해결책으로,이 기능을 사용하면 자신 만의 탐색 모음 단추를 구현하는 것이 어렵지 않습니다. – canuckistani

관련 문제