5

我一直想知道 webkit/safari/chrome 的 WebInspector 中的资源检查是如何工作的。

浏览器必须为 javascript 提供一个原生 BPI 或其他东西来显示查询列表及其时间线,二进制 API 叫什么?我可以使用相同的 API 来编写 Chromium 扩展吗?

4

1 回答 1

3

资源请求和其他 DevTools/WebInspector 相关数据由 InspectorController 及其代理收集。(它只是 C++ 代码)

之后,所有数据都作为 WebInspector 对象方法的 JS 调用推送到 WebInspector。

您可能知道所有 DevTools/WebInspector 的 GUI 都是一个 html 页面和大量的 JavaScript。

您可以尝试通过 Inspector 本身来调查 Inspector 的内部世界。

  1. 使用标志 --process-per-tab 启动 Chrome;
  2. 以非停靠模式打开检查器窗口;
  3. 在检查器窗口中按 Ctrl-Shift-I。

Inspector 和被检查页面之间的所有流量都通过两个函数传递:从 Inspector 到被检查页面 - sendMessageToBackend 从被检查页面到 Inspector - devtools$$dispatch

您可以通过此链接跟踪 WebKit 中 WebInspector 的最新更改。

于 2010-08-03T21:36:53.800 回答