Performance: toJSON() 方法

Baseline 已廣泛支援

此特性已得到良好支援,可在多種裝置和瀏覽器版本上使用。自 2021 年 4 月起,所有瀏覽器均已支援此特性。

注意:此功能在 Web Workers 中可用。

toJSON() 方法是 Performance 介面的一個 序列化器;它返回 Performance 物件的 JSON 表示形式。

語法

js
toJSON()

引數

無。

返回值

一個 Performance 物件的 JSON 序列化表示。

返回的 JSON 不包含 eventCounts 屬性,因為它屬於 EventCounts 型別,而該型別不提供 toJSON() 方法。

注意: JSON 物件包含已棄用的 performance.timingperformance.navigation 屬性的序列化。要獲取較新的 PerformanceNavigationTiming 介面的 JSON 表示形式,請改用呼叫 PerformanceNavigationTiming.toJSON()

示例

使用 toJSON 方法

在此示例中,呼叫 performance.toJSON() 會返回 Performance 物件的 JSON 表示形式。

js
performance.toJSON();

這將記錄一個類似如下的 JSON 物件

json
{
  "timeOrigin": 1668077531367.4,
  "timing": {
    "connectStart": 1668077531372,
    "navigationStart": 1668077531367,
    "secureConnectionStart": 0,
    "fetchStart": 1668077531372,
    "domContentLoadedEventStart": 1668077531580,
    "responseStart": 1668077531372,
    "domInteractive": 1668077531524,
    "domainLookupEnd": 1668077531372,
    "responseEnd": 1668077531500,
    "redirectStart": 0,
    "requestStart": 1668077531372,
    "unloadEventEnd": 0,
    "unloadEventStart": 0,
    "domLoading": 1668077531512,
    "domComplete": 1668077531585,
    "domainLookupStart": 1668077531372,
    "loadEventStart": 1668077531585,
    "domContentLoadedEventEnd": 1668077531580,
    "loadEventEnd": 1668077531585,
    "redirectEnd": 0,
    "connectEnd": 1668077531372
  },
  "navigation": {
    "type": 0,
    "redirectCount": 0
  }
}

要獲取 JSON 字串,可以直接使用 JSON.stringify(performance);它會自動呼叫 toJSON()

規範

規範
高精度時間
# dom-performance-tojson

瀏覽器相容性

另見