未定义sdk / pageload-require

时间:2013-02-16 13:14:13

标签: javascript firefox sdk pageload

我有SDK 1.13,我想在firefox浏览器中加载html表单时使用pageload API来发出警告信息。但是我在控制台上收到错误:require未定义。 我已将SDK上的cfx文件链接到文件系统目录:

ln -s PATH_TO_SDK/bin/cfx ~/bin/cfx

但是,我无法解决此错误。这是我的代码(包含在XUL文件中):

var pageMod = require("sdk/page-mod");
    pageMod.PageMod({
    include: "*.html",
    contentScript: 'window.alert("Page matches ruleset");'
}); 

2 个答案:

答案 0 :(得分:1)

我认为您已经安装了SDK并在尝试cfx运行之前在扩展程序中运行了bin \ activate,对吧?

你不能从XUL文件中运行这些东西,这就是为什么要求......不会工作。所有这些都需要在main.js中(在lib文件夹中)。您需要通过您要编写的内容脚本(在数据文件夹中)进行通信。当html加载时(我在内容脚本中添加一个window.listener或其他东西)你将使用port.emit("加载")或类似的东西,然后你就可以了。我必须使用addon.port("加载",某些功能)等东西来监听main.js。这里有很多很好的文档!

答案 1 :(得分:0)

XUL文件与SDK模块完全相反。 SDK and XUL Comparison