우리는 앱용 크롬 확장을 만들었습니다. 탐색 바에 배치 된 "확장 아이콘"의 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 이벤트가 작동하지 않습니다.
크롬 확장의 경우처럼이 아이콘에 클릭 이벤트를 직접 할당 할 수있는 방법이 있습니까?
을 표시 할 수 있습니다. 이것은 어떤 종류의 해결책인가 아니면 단지 정보인가? – Wasim
그것은 해결책으로,이 기능을 사용하면 자신 만의 탐색 모음 단추를 구현하는 것이 어렵지 않습니다. – canuckistani