相关疑难解决方法(0)

如何在Chrome扩展程序内容脚本中获取错误堆栈跟踪?

有一个谷歌Chrome扩展content script,处理发生在所有选项卡页面JS错误.但问题是没有一种常见的获取错误堆栈跟踪的方法不起作用.

例如,content scriptChrome扩展程序中有一段代码:

window.addEventListener('error', function(event) {
    console.log(event.error.stack); // event.error will be null
}, false);
Run Code Online (Sandbox Code Playgroud)

如果我在网页中调用此代码,那么event.error将包含Error具有stack属性的对象.

使用以下方法尝试获取堆栈跟踪的问题相同:

console.log((new Error()).stack));
Run Code Online (Sandbox Code Playgroud)

有没有人知道一些工作问题,以获得content scriptChrome扩展内的错误堆栈跟踪?

错误堆栈跟踪必须作为string或接收Array,并不意味着通过调用JS控制台中的某些输出console.trace().

如何重现:

  1. 下载https://mega.co.nz/#!ENw00YAC!92gBZEoLCO9jPsWyKht4dbjYyo0Zk-PU5YAj0h88-3Q
  2. 解压缩jzen.zip到某个/jsen文件夹
  3. chrome://extensions在您的Google Chrome中打开,启用Developer mode http://i.imgur.com/5x5D6NP.png
  4. 单击Load unpacked extension按钮并选择/jsen文件夹的路径
  5. 打开/jsen/content.js文件并添加console.log('JSEN', e.error.stack);到里面window.addEventListener('error', function(e) {
  6. 转到http://xpart.ru/_share/js.htm并在JS控制台中查看结果(Ctrl + Shift + J) …

javascript google-chrome google-chrome-extension

8
推荐指数
1
解决办法
4793
查看次数