我的chrome扩展程序不会向控制台显示错误,但会显示日志

时间:2012-07-21 07:57:14

标签: javascript google-chrome-extension

我遇到了一个让我完全疯狂的问题。

我的Chrome扩展程序不向开发人员工具控制台报告任何错误。但是:它仍然会写日志,工作得很好,页面上的非扩展脚本仍会报告错误。

我看过一些关于扩展错误可以在popup.html的DevTools窗口中显示的文字,但是我的扩展没有(并且不能通过设计,它是用于解析其他页面)使用popup.html所有

最糟糕的是,甚至没有显示扩展的语法错误(!)。如果你可以给我解决这个问题的解决方案,那将是无限和永远的感激,因为在调试没有语法错误通知的扩展时,这是一个巨大的痛苦:(

UPD:

看起来,问题是只有在一个页面上我看不到错误:在我运行脚本的其他页面上,我可以看到console.errors()。

Rob W,对不起,但这不能回答我的问题。我可以使用console.log(),但我不能看到console.error()的输出,这些都来自脚本中的实际错误和我自己的控制台调用。错误()。我的脚本不使用后台脚本,只使用某些页面的某些脚本,如下面的manifest.json:

{
    "manifest_version": 2,
    "permissions": ["tabs", "http://*/*", "https://*/*", "file:///*/*"],
    ...
    "content_scripts": [{ 
            // I can see my errors here...
        "matches": ["http://www.site.ru/*type=cheats*"],
        "js": ["cheats.js"]
    },{
            // and here...
        "matches": ["http://www.site.ru/bitrix/admin/iblock_element_edit.php*type=games*"],
        "js": ["idb.js","data.js","framework.js","script.js","wikipic.js"],
        "css":["styles.css"],
            "all_frames": true  
    },{
        "matches": ["http://www.site.ru/bitrix/admin/iblock_element_search.php*"],
        "js": ["search.js"]
    },{
            // >>>> But not here! <<<<
        "matches": ["http://www.site.ru/cheats/*"],
        "js": ["keys.js", "adhocparse.js", "resumeer.js", "ground.js"],
        "css": ["resumeer.css"]
    }]
}

UPD 2 我试过这段代码:

console.log(console, console.log, console.error);
console.error("Error one");
throw new Error("Error two");

我有这个输出:

Console function log() { [native code] } function error() { [native code] }
Error one

所以:console.error有效,但所有引发的错误(例如语法错误)都以某种方式被全局捕获。这很奇怪,因为:

  1. 我的扩展程序中没有任何捕获;
  2. 页面本身仍然会产生很多错误(但是它们在调用我的扩展代码之前就会出现)和很多GET错误(无法获取文件,即使在调用我的扩展代码之后,但它们似乎无法捕获,我猜)
  3. 那么什么可以在全球范围内发现错误?

    这似乎不是Chrome扩展程序问题,添加了标记javascript。

1 个答案:

答案 0 :(得分:0)

在网站上我想编写扩展名,因为这段代码导致了这种行为:

window.onerror
function stopError(){return true;}