--- title: PerformanceObserver.observe() slug: Web/API/PerformanceObserver/observe tags: - 性能 - 性能监测对象 - 接口 translation_of: Web/API/PerformanceObserver/observe ---
{{APIRef("Performance Timeline API")}}

{{domxref("PerformanceObserver", "性能监测对象")}} 的 observe() 方法用于观察传入的参数中指定的性能条目类型的集合。当记录一个指定类型的性能条目时,性能监测对象的回调函数将会被调用。

语法

observer.observe(options);

参数

 

options
一个只装了单个键值对的对象,该键值对的键名规定为 entryTypesentryTypes 的取值要求如下:
 

示例

/* 写法一 */

//直接往PerformanceObserver()入参匿名回调函数,成功new了一个PerformanceObserver类的,名为observer的对象
var observer = new PerformanceObserver(function(list, obj) {
  var entries = list.getEntries();
  for (var i=0; i < entries.length; i++) {
    //处理 “mark” 和 “frame” 事件
  }
});
//调用observer对象的observe()方法
observer.observe({entryTypes: ["mark", "frame"]});

/* 写法二 */

//预先声明回调函数perf_observer
function perf_observer(list, observer) {
  //处理 “measure” 事件
}
//再将其传入PerformanceObserver(),成功new了一个PerformanceObserver类的,名为observer2的对象
var observer2 = new PerformanceObserver(perf_observer);
//调用observer2对象的observe()方法
observer2.observe({entryTypes: ["measure"]});

规范

Specification Status Comment
{{SpecName('Performance Timeline Level 2', '#dom-performanceobserver-observe', 'observe()')}} {{Spec2('Performance Timeline Level 2')}} Initial definition of observe() method.

浏览器兼容性

{{CompatibilityTable}}
Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari (WebKit)
Basic support {{CompatChrome(52.0)}} {{CompatGeckoDesktop(57)}} {{CompatNo}} {{CompatOpera("39")}} {{CompatNo}}
Feature Android Android Webview Firefox Mobile (Gecko) IE Phone Opera Mobile Safari Mobile Chrome for Android
Basic support {{CompatNo}} {{CompatNo}} {{CompatGeckoMobile(57)}} {{CompatNo}}

{{CompatOperaMobile(39)}}

{{CompatNo}} {{CompatChrome(52.0)}}