Chrome浏览器扩展程序崩溃的原因是什么?

9
我的浏览器扩展程序偶尔会崩溃。问题在于,我找不到一个好的、全面的事物列表,可以导致扩展程序崩溃,因此很难创建一个需要处理的清单。
我的假设是,任何导致标准Chrome选项卡崩溃的原因,在Background.html文件中运行时都会导致扩展程序崩溃。
从我头脑中想到的,我认为以下情况可能会引起问题...
- 无限循环或其他脚本失去响应的情况 - 未捕获的异常(例如,没有try / catch的JSON.parse) - 数据库存储错误 - 过度使用资源(??)
那就是我能想到的全部了。我正在努力尝试调试我的扩展程序,真的很感激任何帮助创建清单的人...

你的扩展程序需要请求哪些权限? - Joseph Yaduvanshi
1个回答

17

我在3个月后回到这个问题,因为我的第二个扩展程序也崩溃了。不过,在这种情况下,扩展程序要简单得多——只有40行代码在background.js脚本中。

可能是两个操作导致了问题:写入localStorage和使用console.log

我之前观察到,如果你在网站中使用大型对象反复调用console.log,并长时间保持页面打开状态的话,就可能会导致普通的chrome标签页崩溃。由于background.js总是打开的,这似乎很可能是罪魁祸首。

tl;dr 永远不要在生产环境中使用console.log。


回归测试总是在意外发生时快速找到问题源的方法。注释掉一些内容,看看问题是否消失。 - jwize
似乎罪魁祸首是console.log。 - Minh Giang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接