我試圖構建我的第一個Chrome擴展,但發現調試問題。在處理window.onerror時調試Chrome擴展
我可以console.log()
,但在Developer Tools控制檯中(我正在處理background.js;沒有UI),因此沒有關於語法錯誤的報告。
這是正常的嗎?或者它取決於我爲創建擴展的頁面的一些設置? (www.google.com)
我讀過也許可能有一個window.onerror
設置某處,但我無法找到它。我在background.js的開頭試過 window.onerror = null;
但沒有任何變化。
你會怎麼做才能得到錯誤?
UPDATE(添加代碼)
這是manifest.json的:
{
"name": "Name",
"description": "Description",
"version": "0.1",
"manifest_version": 2,
"background": {
"persistent": false,
"scripts": ["js/background.js"]
},
"permissions" : [
"tabs",
"*://www.google.com/*",
"*://www.google.de/*"
],
"commands": {
"changeSearch": {
"suggested_key": {
"default": "Ctrl+Shift+A",
"mac": "Command+Shift+A"
},
"description": "Change."
}
}
}
的background.js像這樣開頭:
console.log("Start");
chrome.commands.onCommand.addListener(function(command) {
consTYPOTYPOTYPOTYPOTYPOTYPOle.log("catched");
...
我只是發現如果TYPO是otuside,則會引發錯誤function(command)
代碼,如果我在第一或第二行有TYPO。 第三行完全沉默。沒有錯誤。它只是不起作用。
對我來說這很奇怪!
可能的重複[在Chrome擴展中,從background.js讀取控制檯消息?](http://stackoverflow.com/questions/10257301/where-to-read-console-messages-from-background-js -chrome-extension) –
@RobW我已經看到了。不是同一個問題。我可以進行調試,但有些東西會阻止解析器報告控制檯中的錯誤。 – Kamafeather
這是不可能的。您確定[背景頁](https://developer.chrome.com/extensions/background_pages)中存在實際錯誤,並且您正在查看您的擴展程序的控制檯嗎? [內容腳本](https://developer.chrome.com/extensions/content_scripts)消息出現在網頁的控制檯中,[擴展彈出]中出現錯誤(https://developer.chrome.com/extensions/ browserAction#popup)出現在彈出窗口的控制檯中。 –