问题描述
我试图在我的 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