如何使工作 Chrome 扩展程序的未捕获异常处理程序(由于 CORS 保护而不起作用)
How to make work Chrome extension's uncaught exceptions handler (which doesn't work because of CORS protection)
我在Chrome扩展程序的内容脚本JS文件之一中设置了未捕获的异常处理程序window.error = function(message, ...) {...}
处理程序。目的是捕获扩展(内容脚本Javascript文件)中的所有此类错误,并将其报告给开发人员。但是,我总是收到消息"脚本错误"(发生在第 1 行),而不是真正的错误消息和堆栈跟踪。如何获得真正的错误和堆栈跟踪?
这是我在那一刻发现的。这是因为 CORS 保护,如果发生错误的脚本与加载脚本的文档来自同一来源,则默认情况下会清理错误的内容。Chrome 自版本 30 起支持绕过此保护("如果脚本带有适当的'访问控制-允许源'标头,授予加载文档对脚本内容的访问权限")。但是,如果内容脚本不是由 HTTP 提供,而是在扩展的清单中指定,我该如何应用该绕过?出于同样的原因,我不能使用 <script>
的跨源属性。
我也怀疑可以通过内容安全警察(content_security_policy
清单字段)来完成,但我还不能。
意识到可以通过阅读铬来源找到答案,但我希望有人会告诉我,我不需要阅读它们。
除了等待修复 http://crbug.com/225513 之外,没有办法做到这一点
相关文章:
- keyup事件处理程序更改焦点不适用于快速键入
- 提示使用服务器端事件处理程序激活JavaScript
- 将事件处理程序绑定到任何可能的事件
- 正在将事件处理程序添加到不存在的类
- 在AJAX回调和呈现PIXIJS之间处理程序流时遇到了问题
- Adobe Edge:动画完成时添加onComplete处理程序
- 是否可以从输入处理程序中确定输入的类型
- 如果用户由于第二个处理程序中的对话框而停留在页面上,则跳过加载前处理程序
- 角.如何在视图中显示异常处理程序的错误
- 如何使工作 Chrome 扩展程序的未捕获异常处理程序(由于 CORS 保护而不起作用)
- node.js Q promise不会通过拒绝处理程序传播异常
- Vert-x 3.3.2 HTTP客户端异常处理程序
- 异常处理程序不捕获异常
- 如何将被拒绝的承诺转换为异常,并从Express路由处理程序抛出该异常?
- Angular2异常处理程序-检查错误对象是否为响应
- 节点.js中的异常处理程序
- Chrome 扩展程序中的异常处理
- jQuery:全局异常处理程序
- 为什么chrome仍然记录404(未找到)错误,即使在onError处理程序捕获异常后,丢失的图像
- AJAX POST 处理程序导致“未捕获的异常”