标签: resource-timing-api

根据URL获取iframe DOM元素

我正在使用w3c资源计时API.window.performance.getEntriesByType( "资源"); 这给出了包括iframe在内的资源列表.但是,为了掌握嵌入式iframe的资源,我需要掌握iframe的性能对象,这需要我对其'DOM节点/元素进行引用.

        var myiframe2 = $("#myiframe2");
        var myiframeContentWindow = myiframe2[0].contentWindow;
        var iframeContentPerf = myiframeContentWindow.performance;
Run Code Online (Sandbox Code Playgroud)

问题是,如果我所知道的是iframe的URL,那么如何获取iframe的节点引用,这是我所知道的(我不知道iframe的id或名称与上面的代码示例不同).

除了遍历文档的元素然后过滤iframe并将iframe的URL与Resource Timing API返回的内容进行比较之外,是否有一种简单的方法来获取iframe的DOM节点(给定iframe的URL)?

html javascript iframe dom resource-timing-api

6
推荐指数
1
解决办法
456
查看次数

资源计时 API - 有没有办法检索 HTTP 请求方法?

使用资源计时 API,window.performance.getEntries()返回带有计时信息的性能条目列表。此类信息显示在浏览器网络调试器中。请参阅此处: https: //developer.mozilla.org/en-US/docs/Web/API/Resource_Timing_API/Using_the_Resource_Timing_API

在对象/资源计时 API 上使用window.performance.getEntries()或其他一些方法performance,有没有办法获取 HTTP 方法(Get、Post、Put、Delete、Patch)?我没有找到在PerformanceResourceTiming接口上获取 HTTP 方法的方法,例如: https: //developer.mozilla.org/en-US/docs/Web/API/PerformanceResourceTiming

javascript http request resource-timing-api

6
推荐指数
0
解决办法
656
查看次数

从 Service Worker 获取 JavaScript Resource Timing API 中特定 fetch/xhr 调用的资源性能数据

我正在逐个选项卡地记录来自 Service Worker 的所有 http 请求的性能数据(“fetch”事件的“clientId”属性)。Resource Timing API 提供了我需要的所有高分辨率计时数据。但我无法获取特定请求的这些数据。如果有 5 个选项卡,并且所有选项卡都请求http://api.example.com/resource,那么从服务工作线程的范围来看,性能条目已存储所有 5 个请求,没有任何区分属性,并且我无法映射特定的属性对性能条目的请求。

performance.now()是的,我知道我可以在获取请求之前和之后标记时间。但我需要其他数据,如 TTFB、DNS 计时等,我只能根据资源计时 API 提供的数据来测量它们。

如何获取特定请求的高分辨率计时数据?

performance.getEntriesByType("resource")返回所有已加载资源的数据。我只需要这些数据来处理特定的异步请求。

javascript performance resource-timing-api

6
推荐指数
0
解决办法
465
查看次数

Javascript:如何从浏览器获取准确的资源计时 API 条目

使用PerformanceResourceTimingduration返回的值还包括资源调度时间。

这是一个例子:

以下是使用性能观察器观察到的数据: 表演条目的观察者数据

这些值与网络面板匹配。但这个值对应的是总时间。这个总时间也加上了资源调度时间。

网络开发工具请求总时间

有没有办法从API获取不包括资源调度时间的持续时间?通常 API 会将此时间添加到请求的总持续时间中。

网络开发工具排队时间

这是网络面板表中的条目。 网络开发工具 注册时间

正如您在上面的照片中看到的:244.13ms 是 240ms(~资源飞行时间)+ 4ms(~资源调度时间)的总和。

如上所述,记录的值是停滞时间和网络表条目中记录的时间之和。这意味着这不仅仅是飞行时间;我正在寻找那个。

javascript performance google-chrome google-chrome-devtools resource-timing-api

6
推荐指数
1
解决办法
888
查看次数

为什么我不能在资源定时API中没有Timing-Allow-Origin的情况下访问网络定时数据

我正在阅读有关资源计时API的这篇文章,我无法理解以下限制背后的原因:

从第三方获取的资源必须提供额外的HTTP标头(Timing-Allow-Origin:*),以允许站点收集详细的网络定时数据.如果标头不存在,则唯一可用的数据是请求的总持续时间.

虽然我可以很容易地理解阻止请求没有Access-Control-Allow-Origin标题的原因,但我很难理解为什么我不应该获得有关没有Timing-Allow-Origin标题的计时的信息.

performance html5 resource-timing-api

3
推荐指数
1
解决办法
1096
查看次数

为什么 PerformanceResourceTiming 接口值与浏览器值不同?

我编写了一个在域上运行并从各个其他域(第三方资源)获取图像的脚本。

我正在尝试使用它window.performance.getEntriesByType('resource')来对事物进行一般健康检查。看来,由于这些资源位于其他域,因此响应需要Timing-Allow-Origin在响应标头中设置才能通过window.performance.getEntriesByType().

这是真的?

此外,当我运行脚本时,Chrome 浏览器确实会返回有用的信息。事实上,如果我能以编程方式获取这些数据,我就可以使用它。但Chrome显示的数据和返回的数据有所不同window.performance.getEntriesByType()

我附上了一张屏幕截图,其中显示了 Chrome 加载资源的有用时间细分。由性能条目对象的数据不匹配。

例如,查看右侧时序图中的 DNS Lookup 时间,然后查看性能条目对象中的domainLookupStart 和domainLookupEnd 值。这些值彼此不匹配。

为什么会出现差异?如何获取 Chrome 的数据?如何从性能条目对象中获取 Chrome 显示的内容?

谢谢!

Chrome资源加载时序图

javascript network-programming google-chrome resource-timing-api

3
推荐指数
1
解决办法
1055
查看次数