2013-02-16 54 views
1

我有SDK 1.13,我想使用页面加载API给HTML格式加载在Firefox浏览器的警报消息。但是我在控制台上发现错误:require没有被定义。 我已经联系上添加SDK到文件系统的目录文件CFX:sdk/pageload-require没有定义

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");' 
}); 

回答

1

我假设你已经安装了SDK并在尝试运行cfx之前在你的扩展中运行bin \ activate,对吧?

你不能从一个XUL文件运行这个东西,这就是为什么需要......不会工作。所有这些都需要在main.js中(在lib文件夹中)。您需要通过您将写入的内容脚本(在数据文件夹中)进行通信。当加载的HTML(我会添加一个window.listener或内容脚本中的东西),你会使用port.emit(“加载”)或类似的东西,然后你将不得不在main.js中听东西像addon.port(“加载”,somefunction)。这里有很多很好的文档!

+0

即使我的主应用程序在XUL中,我可以在main.js中使用SKD吗?我的意思是,我可以将两者结合起来吗? – bgmCoder 2015-12-16 14:58:52