我正在使用Addon SDK创建我的第一个Firefox扩展程序,但是我无法通过console.log()传递消息以显示在我的调试器中。
我在Firefox 33中创建了一个新配置文件并安装了最新版本的Firebug。当我使用cfx run -p <My_Profile_Directory>
启动我的插件时,我可以看到Firebug和我的插件,而插件会执行它应该做的事情。但是,我没有看到我使用console.log()
命令
到目前为止,我的 main.js :
function loginToSite(user, password) {
var Request = require("sdk/request").Request;
var doLogin = Request(
{
url: "https://website.com/login/index.php",
contentType: "application/x-www-form-urlencoded",
content: "username=xxxx&password=xxxx&remember=1",
onComplete: function(response) {
console.log(response.text);
}
}
);
doLogin.post();
}
function checkLoginStatus(tab) {
//TODO Actually check if the tab is logged in, currently assume it's not
loginToSite(0,0);
}
// Listens for tabs and checks each loaded tab if it's the website
tabs.on("ready", function(tab) {
var tabUrl = tab.url.toLowerCase();
if(tabUrl.contains("website.com")) {
console.log("Not connected to website.com, running login procedure");
checkLoginStatus(tab);
}
});
就像我说的,我实际上是自动登录的,但Firebug或Firefox开发人员工具中都没有显示日志消息。控制台。
我在这里做错了什么?日志消息在哪里?
答案 0 :(得分:3)
您必须将默认日志记录级别(error
)更改为更详细的内容,例如info
。
全局级别由首选项extensions.sdk.console.logLevel
控制。但是,您只能使用首选项extensions.myExtensionID.sdk.console.logLevel
当您在不传递个人资料目录的情况下运行cfx
时,它会将临时个人资料设置为开发人员友好。