[英]How do I see the console.log output of a background script in a Firefox WebExtension?
有誰知道如何在后台腳本中查看console.log()
調用的輸出? 我可以在內容腳本中看到相同的輸出。 這是我正在測試的一個簡單腳本:
這是我的background.js :
console.log("Message from background.js");
這是我的manifest.json :
{
"name": "TestBed",
"manifest_version": 2,
"version": "1.0",
"background": {
"scripts": ["background.js"]
},
"browser_action": {
"default_title": "Click"
},
"applications": {
"gecko": {
"id": "testbed@example.com",
"strict_min_version": "48.0a1"
}
}
}
我也在后台腳本中嘗試過這個:
chrome.browserAction.onClicked.addListener(function() {
console.log('Message from background.js onclicked handler');
});
我什至按照其他一些帖子的建議卸載了 Firebug,但這也沒有區別(請注意,內容腳本中的console.log
有效)。
有關在控制台中看到擴展輸出的更一般的答案,請參閱我的回答: Google Chrome / Firefox do not see extension output in console 。
這是您應該用來查看在 WebExtension 的后台上下文中運行的腳本的控制台輸出的內容。 這包括后台腳本、在彈出窗口中運行的腳本、選項頁面以及從擴展程序加載的任何其他頁面,作為選項卡或 iframe 的主 URL。 您可以通過about:debugging
➞Inspect 訪問附加調試器(使用與您正在調試的 WebExtension 相關聯的“Inspect”按鈕;每個擴展都有一個單獨的按鈕)。 這將打開一個帶有調試器的新選項卡。 然后,您可以單擊該瀏覽器選項卡中的控制台選項卡。 此控制台將僅顯示您正在檢查的 WebExtension 中的內容。
默認情況下,瀏覽器控制台不再顯示來自 WebExtensions 背景頁面的輸出。 您可以通過選擇顯示“顯示內容消息”來顯示所有WebExtensions 的輸出,當您單擊窗口右上角的齒輪狀符號“⚙️”時,可以從打開的彈出窗口中找到它,就在“請求”的權利。
您可以在Browser Console中的后台腳本中看到console.log()
的輸出。 您可以使用鍵盤快捷鍵Ctrl - Shift - J或Cmd - Shift - J(在 OSX 上)或從 Firefox 菜單欄:工具➞Web 開發人員➞瀏覽器控制台打開瀏覽器控制台。
在大於或等於 49 的版本中測試 WebExtensions 時, 1我經常濫用錯誤功能導致擴展程序打開瀏覽器控制台。 后台腳本不支持alert()
函數,但會打開瀏覽器控制台並在控制台中輸出警報文本。 2這樣做將適用於大於或等於 49.0 的 Firefox 版本。 但是,它會在早期版本的 Firefox 中引發錯誤。
為了測試,我經常在我的后台腳本中包含以下內容:
//* For testing, open the Browser Console
try {
//alert() is not actually supported in Firefox WebExtension background scripts.
//This forces the Browser Console open.
//This abuse of a misfeature works in FF49.0b+, not in FF48.
alert('Open the Browser Console.');
} catch(e) {
//alert() throws an error in Firefox versions below 49.
console.log('alert() threw an error. Probably Firefox version < 49.');
}
//*
alert()
的文本外,它還將在單獨的行中輸出:“后台窗口不支持alert();請改用console.log。”
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.