将调试器从 chrome devtools 扩展附加到 worker

问题描述

我试图在我的 chrome devtools 扩展中拦截 ws 消息。

This question 帮助了我。这正是我需要的,但唯一的问题是它只有在从页面上下文发送 websocket 消息时才有效(我猜是因为调试器专门附加到该选项卡?)但在页面中我试图拦截ws 连接在 web worker 中建立的消息。

我的主要问题是,chrome devtools 扩展中有没有办法将调试器“附加”到网络工作者?或者我在这里遗漏了什么?

感谢您的帮助。

解决方法

找到原因了。

我将无法使用 chrome.debugger API 拦截我需要的页面中的 WebSockets 帧。

显然,扩展似乎无法访问通过 about:data:blob: 方案加载的上下文,我想拦截 WebSocket 帧在通过加载的工作程序中建立连接一个 blob 网址。

查看相关的 Chrome 错误:
https://bugs.chromium.org/p/chromium/issues/detail?id=55084 https://bugs.chromium.org/p/chromium/issues/detail?id=388972

这也是 FF 中的一个错误:
https://bugzilla.mozilla.org/show_bug.cgi?id=1475831