0

我正在展示一个面板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 插件开发的新手。任何帮助对我来说都会很棒。谢谢。

4

1 回答 1

0

在附加 SDK 中,“main.js”是唯一默认运行的脚本。如果要在附加组件的 lib 目录中的其他脚本中运行代码,则需要使用其他脚本:

'另一个.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

于 2013-05-11T19:34:33.003 回答