Firefox Addon SDK:是否可以显示另一个.js的另一个面板

时间:2013-05-11 18:37:06

标签: firefox firefox-addon firefox-addon-sdk

我正在显示main.js

的面板
btn.addEventListener('click', function() { 
            var panel = require("sdk/panel").Panel({
            width: 570,
            height: 230,
            contentURL: require("sdk/self").data.url("content.html")
            });
            panel.show();
       }, true)

现在,我想展示来自another.js

的另一个小组
function myFunction(){
    setTimeout(function(){

        var data = require('self').data;
        var reminder_panel = require("sdk/panel").Panel({
          width: 570,
          height: 230,
          contentURL:"http://www.google.com"
          });
         reminder_panel.show();
    },4000);
}

但它不起作用。我是Firefox插件开发的新手。任何帮助对我来说都很棒。感谢。

1 个答案:

答案 0 :(得分:0)

在Add-on SDK中,main.js'是默认运行的唯一脚本。如果要在加载项的lib目录中的其他脚本中运行代码,则需要使用其他脚本:

'another.js':

function myFunction(){
    setTimeout(function(){

        var data = require('self').data;
        var reminder_panel = require("sdk/panel").Panel({
          width: 570,
          height: 230,
          contentURL:"http://www.google.com"
          });
         reminder_panel.show();
    },4000);
}

exports.myFunction = myFunction; // export the function

'main.js':

var another = require('another');

another.myFunction(); // the panel will show.

有关如何在Add-on SDK中使用CommonJS模块的更多背景信息,请参阅文档:

https://addons.mozilla.org/en-US/developers/docs/sdk/latest/dev-guide/guides/modules.html