2014-11-01 34 views
1

我使用Addon SDK創建了我的第一個Firefox擴展,但是我無法獲取與console.log()一起傳遞的消息以顯示在我的調試器中。console.log()消息不會從Firefox插件中顯示

我在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 Developer Tools控制檯中不會顯示日誌消息。

我在這裏做錯了什麼?日誌消息在哪裏?

回答

3

您必須將默認日誌記錄級別(error)更改爲更詳細的內容,例如info

全球水平由偏好extensions.sdk.console.logLevel控制。但是,您可以僅調整分機的日誌記錄級別,但首選項爲extensions.myExtensionID.sdk.console.logLevel

如果在不傳遞配置文件目錄的情況下運行cfx,則需要將臨時配置文件設置爲開發人員友好。