DevTool 协议提供的“resourceType”值是如何定义的?
How is defined `resourceType` value provided by the DevTool protocol?
在使用 Puppeteer 或 Chrome DevTools APIs 时,您可以获得 resourceType
的值(在 Puppeteer 中的 Request
对象和 Page
Chrome DevTools 中的对象)。
这个值是如何由 "rendering engine"(如文档中所称)建立的?
可能的值为:Document
、Stylesheet
、Image
、Media
、Font
、Script
、TextTrack
, XHR
, Fetch
, EventSource
, WebSocket
, Manifest
, Other
API 文档:Puppeteer API and Chrome DevTools API
关于 Whosebug 的类似问题:Is There any way to get all mime type by the resourceType of chrome
最后,我在 Chromium 使用的 WebKit 源代码中找到了处理该问题的源代码。
首先,文档中所谓的"rendering engine"是WebKit引擎(至少是chromium源提供的版本)。
其次,没有办法很容易地知道资源将如何被标记为每个类别。
最简单的部分是针对类别:Document
、Stylesheet
、Image
、Media
、Font
和 Script
。它使用 mimeType
和 URL 的路径部分提供的扩展名。映射在 this response.
中有详细说明
对于其他类别(TextTrack
、XHR
、Fetch
、EventSource
、WebSocket
和 Manifest
),似乎它是在 WebKit 处理给定资源的过程中通过自定义逻辑建立的。
Chromium 存储库中提供了源代码:./third_party/WebKit/Source/devtools/front_end/common/ResourceType.js。
在使用 Puppeteer 或 Chrome DevTools APIs 时,您可以获得 resourceType
的值(在 Puppeteer 中的 Request
对象和 Page
Chrome DevTools 中的对象)。
这个值是如何由 "rendering engine"(如文档中所称)建立的?
可能的值为:Document
、Stylesheet
、Image
、Media
、Font
、Script
、TextTrack
, XHR
, Fetch
, EventSource
, WebSocket
, Manifest
, Other
API 文档:Puppeteer API and Chrome DevTools API
关于 Whosebug 的类似问题:Is There any way to get all mime type by the resourceType of chrome
最后,我在 Chromium 使用的 WebKit 源代码中找到了处理该问题的源代码。
首先,文档中所谓的"rendering engine"是WebKit引擎(至少是chromium源提供的版本)。
其次,没有办法很容易地知道资源将如何被标记为每个类别。
最简单的部分是针对类别:Document
、Stylesheet
、Image
、Media
、Font
和 Script
。它使用 mimeType
和 URL 的路径部分提供的扩展名。映射在 this response.
对于其他类别(TextTrack
、XHR
、Fetch
、EventSource
、WebSocket
和 Manifest
),似乎它是在 WebKit 处理给定资源的过程中通过自定义逻辑建立的。
Chromium 存储库中提供了源代码:./third_party/WebKit/Source/devtools/front_end/common/ResourceType.js。