Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

DeviceMotionEvent: requestPermission() statische Methode

Eingeschränkt verfügbar

Diese Funktion ist nicht Baseline, da sie in einigen der am weitesten verbreiteten Browser nicht funktioniert.

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

Die requestPermission() statische Methode der DeviceMotionEvent Schnittstelle fordert die Erlaubnis des Benutzers an, auf Bewegungsdaten des Geräts von den Beschleunigungs- und Gyroskop-Sensoren zuzugreifen. Diese Methode erfordert eine transiente Aktivierung, was bedeutet, dass sie durch ein UI-Ereignis wie einen Button-Klick ausgelöst werden muss.

Syntax

js
DeviceMotionEvent.requestPermission()

Parameter

Keine.

Rückgabewert

Ein Promise, das mit einem String aufgelöst wird, der entweder "granted" oder "denied" ist.

Ausnahmen

Das zurückgegebene Promise wird mit den folgenden Ausnahmen abgelehnt:

NotAllowedError DOMException

Der Berechtigungsstatus ist "prompt" und die aufrufende Funktion hat keine transiente Aktivierung.

Sicherheit

Eine transiente Benutzeraktivierung ist erforderlich. Der Benutzer muss mit der Seite oder einem UI-Element interagieren, damit diese Funktionalität funktioniert.

Beispiele

Anfordern der Erlaubnis für Bewegungsdaten bei Klick

js
document.querySelector("button").addEventListener("click", async () => {
  if (typeof DeviceMotionEvent.requestPermission !== "function") {
    // The feature is not available, or does not need permission.
    return;
  }

  const permission = await DeviceMotionEvent.requestPermission();
  if (permission === "granted") {
    window.addEventListener("devicemotion", (event) => {
      console.log(`Acceleration X: ${event.acceleration.x}`);
      console.log(`Acceleration Y: ${event.acceleration.y}`);
      console.log(`Acceleration Z: ${event.acceleration.z}`);
    });
  }
});

Spezifikationen

Spezifikation
Device Orientation and Motion
# dom-devicemotionevent-requestpermission

Browser-Kompatibilität

Siehe auch