2012-08-08 6 views
-1

애드온 작성 도구를 사용하여 파이어 폭스를 확장했습니다. 확장 구조는오페라 확장 스크립트와 그들 간의 통신

  1. 주요 부가 코드 (주요 부가 코드로 전송되는 콘텐츠 스크립트의

  2. 결과 (문서의 준비 상태에서 1 런에서 1)이 콘텐츠 스크립트를 실행하는 것 같다 "콘텐츠 스크립트와 애드온 코드 간의 통신"사용)

  3. 주 애드온 코드는이 정보를 1 개의 추가 컨텐츠 스크립트로 보냅니다.

    main.js (부가 코드) :

    var data = require("self").data; 
    
    var paraPanel = require("panel").Panel({ 
    
        contentScriptFile: data.url("combine.js") 
    
    }); 
    
    require("page-mod").PageMod({ 
    
        contentScriptWhen: 'start', 
    
        contentScriptFile: data.url("content-script1.js"), 
    
        onAttach: function (worker) { 
    
         worker.port.on("para1", function(message) { 
    
         msgfromscript1 = message; 
    
        }); 
    
        } 
    
    }) 
    
    require("page-mod").PageMod({ 
    
        contentScriptWhen: 'ready', 
    
        contentScriptFile: data.url("content-script2.js"), 
    
        onAttach: function (worker) { 
    
         worker.port.on("para2", function(message) { 
    
        msgfromscript2 = message; 
    
        }); 
    
        } 
    
    }) 
    
    
    
    require("widget").Widget({ 
    
        contentURL: data.url("crack_attack.png"), 
    
        onClick: function() { 
    
        paraPanel.port.emit("add-para", msgfromscript1,msgfromscript2); 
    
        paraPanel.show(); 
    
        } 
    
    }); 
    
    사용자가 위젯

예를 클릭 할 때

  • 컨텐츠 스크립트는 모두 결과와 디스플레이를 추가합니다

    combine.js 코드 :

    self.port.on("add-para", function(msgfromscript1,msgfromscript2) { 
    
        var result=msgfromscript1+msgfromscript2; 
    
        document.body.innerHTML = result; 
    
    }); 
    

    오페라 확장 기능과 동일한 기능을 구현하고 싶습니다. Opera 브라우저의 클릭 기능을 기반으로이 통신 및 디스플레이를 수행하려면 어떻게해야합니까?

    저에게 도움이 될 수있는 오페라 확장 또는 문서가 있습니까?

  • 답변