2011-12-10 3 views
1

사용자가 내 사이트에 로그인 한 후 해당 도메인의 세션 ID를 읽고 내 추가 기능과의 상호 작용에 사용하는 추가 기능을 만들려고합니다. 나는 online addon builder 사용하고 난 내가 쿠키를 읽으려면이 코드를 가지고 : cookieMgr 말,변수가 내용 스크립트 안에 인식되지 않습니다

var data = require("self").data; 
var {Cc, Ci} = require("chrome"); 
var cookieMgr = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager); 
var cm = require("context-menu"); 
cm.Item({ 
    label: "My Menu Item", 
    contentScript: 'self.on("click", function (node, data) {' + 
       'for (var e = cookieMgr.enumerator; e.hasMoreElements();) { ' + 
       'var cookie = e.getNext().QueryInterface(Ci.nsICookie); ' + 
       ' console.log(cookie.host + ";" + cookie.name + "=" + cookie.value + "\\n");'+ 
       '}});' 
}); 

를하지만 오류를 나는 '내 메뉴 항목'버튼을 클릭 할 때마다 발생, 변수가 정의되지 않았습니다 .

답변

0

콘텐츠 스크립트 컨텍스트는 애드온 스크립트 컨텍스트와 완전히 연결이 끊어져 있습니다. contentScript을 사용할 때이를 파악하는 것은 쉽지 않지만 다른 파일에 넣은 후 contentScriptFile을 사용하면 더욱 분명 해집니다. 콘텐츠 스크립트는 문서의 컨텍스트에서 실행되지만 추가 스크립트는 실행되지 않습니다.

관련 문제