处理window.onerror时调试Chrome扩展

时间:2014-03-06 14:26:15

标签: javascript debugging google-chrome-extension syntax-error

我正在尝试构建我的第一个Chrome扩展程序,但我发现调试有问题。

我能够console.log()但是在Developer Tools控制台(我正在处理 background.js ;没有用户界面)中没有关于语法错误的报告。

这是正常的吗?或者它取决于我正在创建扩展名的页面的某些设置? (www.google.com

我读过可能会在某处设置window.onerror,但我无法找到它。我试过了 window.onerror = null;
background.js 的开头,但没有任何改变。

你会怎样做才能收回错误?

更新(添加代码)

这是 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是function(command)代码的otuside,如果我在第1行或第2行有TYPO,则会抛出错误。 第3行是完全沉默的。没错。它只是不起作用。

这对我来说很奇怪!

1 个答案:

答案 0 :(得分:0)

问题是一个相互冲突的扩展,超越了我的。

尝试禁用所有扩展,然后从我的开始重新启用它们,解决了这个问题。

可能我认为它对冲突的扩展(在之后启用)具有更高的优先级。