PressureObserver

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

Experimentell: Dies ist eine experimentelle Technologie
Überprüfen Sie die Browser-Kompatibilitätstabelle sorgfältig vor der Verwendung auf produktiven Webseiten.

Hinweis: Diese Funktion ist in Web Workers verfügbar, mit Ausnahme von Service Workers.

Sicherer Kontext: Diese Funktion ist nur in sicheren Kontexten (HTTPS) in einigen oder allen unterstützenden Browsern verfügbar.

Die PressureObserver-Schnittstelle ist Teil der Compute Pressure API und wird verwendet, um die Druckänderungen von Systemressourcen wie der CPU zu überwachen.

Konstruktor

PressureObserver() Experimentell

Erstellt und gibt ein neues PressureObserver-Objekt zurück.

Statische Eigenschaften

PressureObserver.knownSources Schreibgeschützt Experimentell

Gibt ein Array von source-Werten zurück, die vom Benutzeragenten unterstützt werden.

Instanzmethoden

PressureObserver.observe() Experimentell

Ruft die Callback-Funktion des PressureObserver auf, wenn ein Druckdatensatz für die angegebene source beobachtet wird.

PressureObserver.unobserve() Experimentell

Stoppt die Callback-Funktion des PressureObserver von der Erfassung von Druckdatensätzen von der angegebenen source.

PressureObserver.disconnect() Experimentell

Stoppt die Callback-Funktion des PressureObserver von der Erfassung von Druckdatensätzen aus allen Quellen.

PressureObserver.takeRecords() Experimentell

Gibt die aktuelle Liste der im PressureObserver gespeicherten Druckdatensätze zurück und leert sie dadurch.

Beispiele

Aktuellen Druck protokollieren

Dieses Beispiel erstellt einen PressureObserver und führt Aktionen aus, sobald eine Druckänderung auftritt. Das Abtastintervall ist auf 1000 ms eingestellt, was bedeutet, dass es maximal alle Sekunde Aktualisierungen gibt.

js
function callback(records) {
  const lastRecord = records[records.length - 1];
  console.log(`Current pressure ${lastRecord.state}`);
  if (lastRecord.state === "critical") {
    // disable video feeds
  } else if (lastRecord.state === "serious") {
    // disable video filter effects
  } else {
    // enable all video feeds and filter effects
  }
}

try {
  const observer = new PressureObserver(callback);
  await observer.observe("cpu", {
    sampleInterval: 1000, // 1000ms
  });
} catch (error) {
  // report error setting up the observer
}

Spezifikationen

Specification
Compute Pressure Level 1
# the-pressureobserver-object

Browser-Kompatibilität

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
PressureObserver
Experimental
PressureObserver() constructor
Experimental
disconnect
Experimental
knownSources_static
Experimental
observe
Experimental
takeRecords
Experimental
unobserve
Experimental

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support
No support
No support
Experimental. Expect behavior to change in the future.

Siehe auch