2012-08-08 142 views
-1

我使用附加組件生成器工具對Firefox進行了擴展。延伸結構是一樣,opera擴展腳本和它們之間的通信

  1. 主插件代碼將(在文件就緒狀態在運行1和1)

  2. 內容的腳本的結果運行2個含量腳本發送到主插件代碼(使用「內容腳本和插件代碼之間的通信」)

  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(); 
    
        } 
    
    }); 
    

  4. 當用戶點擊一個插件

實施例的內容的腳本將添加兩個結果,並顯示

combine.js碼:

self.port.on("add-para", function(msgfromscript1,msgfromscript2) { 

    var result=msgfromscript1+msgfromscript2; 

    document.body.innerHTML = result; 

}); 

我想實現與Opera擴展相同的功能。我如何才能在Opera瀏覽器中根據點擊功能進行通信和顯示?

是否有任何文檔或示例Opera擴展可以幫助我?

回答