2013-04-07 1 views
0

브라우저 버튼을 클릭하면 컨텐츠 스크립트를 추가하는 크롬 확장 기능을 마무리합니다. 파이어 폭스와 같은 방식으로이를 수행하기를 찾고 있는데, PageMod을 찾았지만 내 위젯에 onclick 이벤트가 작동하지 않는 것 같습니다.위젯에서 컨텐츠 스크립트 실행 firefox 확장자

제안 사항 :

답변

1

"브라우저 버튼"이라고하는 것은 Mozilla가 widget이라고 부르는 것입니다. page-mod을 활성화해도 아무 것도 클릭 할 필요가 없으며 일치하는 웹 페이지를 "부착"(열기) 만합니다.

위젯을 클릭 한 후 페이지 콘텐츠 (페이지의 DOM)와 상호 작용하려면 위젯의 onClick 속성 값이 변수가 활성 탭의 attach 이벤트로 설정된 인수없는 익명 함수 여야합니다. cs.js에서

var self=require("self"); 
var data = self.data; 
var widget = require("widget"); 
var tabs = require("tabs"); 


var erase = widget.Widget({ 
id: "magated", 
label: "click this widget", 
content: "<div>?</div>", 
contentScriptWhen: "start", 
contentScriptUrl: data.url("cs.js"), 
onClick:function() { 
    worker = tabs.activeTab.attach({ 
    contentScriptWhen: "start", 
    contentScriptFile: [data.url("cs.js")], 
    }); 
    worker.port.emit("dothing", tabs.activeTab.url); 
}, 
}); 

한 다음 찾을 수 있습니다

self.port.on("dothing", function (url) { 
    var bigUrl = document.createElement("h1"); 
    bigUrl.textContent = url; 
    document.body.insertBefore(bigUrl, document.body.firstElementChild); 
}); 
관련 문제