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.
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
BCD tables only load in the browser