--- title: PerformanceObserver.observe() slug: Web/API/PerformanceObserver/observe tags: - 性能 - 性能监测对象 - 接口 translation_of: Web/API/PerformanceObserver/observe ---
{{domxref("PerformanceObserver", "性能监测对象")}} 的 observe()
方法用于观察传入的参数中指定的性能条目类型的集合。当记录一个指定类型的性能条目时,性能监测对象的回调函数将会被调用。
observer.observe(options);
entryTypes
。entryTypes
的取值要求如下:entryTypes
的值:一个放字符串的数组,字符串的有效值取值在{{domxref("PerformanceEntry.entryType", "性能条目类型")}} 中有详细列出。如果其中的某个字符串取的值无效,浏览器会自动忽略它。options
实参,或传入的 options
实参为空数组,会抛出 {{jsxref("TypeError")}}。/* 写法一 */ //直接往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. |
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)}} |