Dokument
Baseline
Weitgehend verfügbar
*
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Juli 2015 browserübergreifend verfügbar.
* Einige Teile dieser Funktion werden möglicherweise unterschiedlich gut unterstützt.
Das Document Interface repräsentiert jede Webseite, die im Browser geladen ist, und dient als Einstiegspunkt in den Inhalt der Webseite, welcher der DOM-Baum ist.
Der DOM-Baum umfasst Elemente wie <body> und <table>, sowie viele andere. Er bietet global Funktionalitäten für das Dokument, wie beispielsweise das Abrufen der URL der Seite und das Erstellen neuer Elemente im Dokument.
Das Document Interface beschreibt die allgemeinen Eigenschaften und Methoden für jede Art von Dokument. Je nach Dokumenttyp (z.B. HTML, XML, SVG, …) steht eine größere API zur Verfügung: HTML-Dokumente, die mit dem Inhaltstyp "text/html" bereitgestellt werden, implementieren auch das HTMLDocument Interface, während XML- und SVG-Dokumente das XMLDocument Interface implementieren.
Konstruktor
Document()-
Erstellt ein neues
DocumentObjekt.
Instanzeigenschaften
Dieses Interface erbt auch von den Interfaces Node und EventTarget.
Document.activeElementSchreibgeschützt-
Gibt das
Elementzurück, das derzeit den Fokus hat. Document.activeViewTransitionSchreibgeschützt-
Gibt eine
ViewTransitionInstanz zurück, die die aktuell aktive View Transition im Dokument repräsentiert, odernull, wenn keine aktive View Transition vorhanden ist. Document.adoptedStyleSheets-
Fügt ein Array von konstruierten Stylesheets hinzu, das vom Dokument verwendet werden soll. Diese Stylesheets können auch mit Shadow-DOM-Unterbäumen desselben Dokuments geteilt werden.
Document.body-
Gibt den
<body>oder<frameset>Knoten des aktuellen Dokuments zurück. Document.characterSetSchreibgeschützt-
Gibt das Zeichensatz zurück, das vom Dokument verwendet wird.
Document.childElementCountSchreibgeschützt-
Gibt die Anzahl der Kindelemente des aktuellen Dokuments zurück.
Document.childrenSchreibgeschützt-
Gibt die Kindelemente des aktuellen Dokuments zurück.
Document.compatModeSchreibgeschützt-
Gibt an, ob das Dokument im Quirks oder Strict Modus gerendert wird.
Document.contentTypeSchreibgeschützt-
Gibt den Content-Type aus dem MIME-Header des aktuellen Dokuments zurück.
Document.currentScriptSchreibgeschützt-
Gibt das
<script>Element zurück, dessen Skript gerade verarbeitet wird und kein JavaScript-Modul ist. Document.customElementRegistrySchreibgeschützt-
Das
CustomElementRegistryObjekt, das mit diesem Dokument assoziiert ist, odernull, wenn keines gesetzt wurde. Document.doctypeSchreibgeschützt-
Gibt die Dokumenttyp-Definition (DTD) des aktuellen Dokuments zurück.
Document.documentElementSchreibgeschützt-
Gibt das
Elementzurück, das ein direktes Kind des Dokuments ist. Bei HTML-Dokumenten ist dies normalerweise dasHTMLHtmlElementObjekt, das das<html>Element des Dokuments repräsentiert. Document.documentURISchreibgeschützt-
Gibt den Speicherort des Dokuments als Zeichenkette zurück.
Document.embedsSchreibgeschützt-
Gibt eine
HTMLCollectionder eingebetteten<embed>Elemente im Dokument zurück. Document.featurePolicySchreibgeschützt-
Gibt das
FeaturePolicyInterface mit den auf das Dokument angewendeten Feature-Policies zurück. Document.firstElementChildSchreibgeschützt-
Gibt das erste Kindelement des aktuellen Dokuments zurück.
Document.fonts-
Gibt das
FontFaceSetInterface des aktuellen Dokuments zurück. Document.formsSchreibgeschützt-
Gibt eine
HTMLCollectionder<form>Elemente im Dokument zurück. Document.fragmentDirectiveSchreibgeschützt-
Gibt die
FragmentDirectivefür das aktuelle Dokument zurück. Document.fullscreenElementSchreibgeschützt-
Das Element, das derzeit im Vollbildmodus für dieses Dokument ist.
Document.headSchreibgeschützt-
Gibt das
<head>Element des aktuellen Dokuments zurück. -
Gibt einen Boolean-Wert zurück, der angibt, ob die Seite als verborgen gilt oder nicht.
Document.imagesSchreibgeschützt-
Gibt eine
HTMLCollectionder Bilder im Dokument zurück. Document.implementationSchreibgeschützt-
Gibt die DOM-Implementierung zurück, die dem aktuellen Dokument zugeordnet ist.
Document.lastElementChildSchreibgeschützt-
Gibt das letzte Kindelement des aktuellen Dokuments zurück.
Document.linksSchreibgeschützt-
Gibt eine
HTMLCollectionder Hyperlinks im Dokument zurück. Document.pictureInPictureElementSchreibgeschützt-
Gibt das
Elementzurück, das derzeit im Bild-in-Bild-Modus in diesem Dokument dargestellt wird. Document.pictureInPictureEnabledSchreibgeschützt-
Gibt true zurück, wenn das Bild-in-Bild-Feature aktiviert ist.
Document.pluginsSchreibgeschützt-
Gibt eine
HTMLCollectionder verfügbaren Plugins zurück. Document.pointerLockElementSchreibgeschützt-
Gibt das Element zurück, das als Ziel für Mausereignisse gesetzt ist, während der Zeiger gesperrt ist.
null, wenn die Sperrung aussteht, der Zeiger entsperrt ist oder das Ziel in einem anderen Dokument ist. Document.prerenderingSchreibgeschützt-
Gibt einen Boolean zurück, der anzeigt, ob das Dokument derzeit im Prozess des Vorrenders ist, wie über die Speculation Rules API eingeleitet.
Document.scriptsSchreibgeschützt-
Gibt eine
HTMLCollectionder<script>Elemente im Dokument zurück. Document.scrollingElementSchreibgeschützt-
Gibt eine Referenz auf das
Elementzurück, das das Dokument scrollt. Document.styleSheetsSchreibgeschützt-
Gibt eine
StyleSheetListvonCSSStyleSheetObjekten für Stylesheets zurück, die explizit in ein Dokument verlinkt oder eingebettet sind. Document.timelineSchreibgeschützt-
Gibt eine Zeitleiste als spezielle Instanz von
DocumentTimelinezurück, die beim Laden der Seite automatisch erstellt wird. Document.visibilityStateSchreibgeschützt-
Gibt einen
stringzurück, der den Sichtbarkeitszustand des Dokuments angibt. Mögliche Werte sindvisible,hiddenundunloaded.
Erweiterungen für HTMLDocument
Das Document Interface für HTML-Dokumente erbt vom HTMLDocument Interface oder wird für solche Dokumente erweitert.
-
Gibt eine durch Semikolon getrennte Liste der Cookies für dieses Dokument zurück oder setzt ein einzelnes Cookie.
Document.defaultViewSchreibgeschützt-
Gibt eine Referenz auf das Fensterobjekt zurück.
Document.designMode-
Erhält/legt die Fähigkeit fest, das gesamte Dokument zu bearbeiten.
Document.dir-
Erhält/legt die Richtung (rtl/ltr) des Dokuments fest.
Document.fullscreenEnabledSchreibgeschützt-
Gibt an, ob der Vollbildmodus verfügbar ist.
Document.lastModifiedSchreibgeschützt-
Gibt das Datum zurück, an dem das Dokument zuletzt geändert wurde.
Document.locationSchreibgeschützt-
Gibt die URI des aktuellen Dokuments zurück.
Document.readyStateSchreibgeschützt-
Gibt den Ladezustand des Dokuments zurück.
Document.referrerSchreibgeschützt-
Gibt die URI der Seite zurück, die auf diese Seite verlinkt hat.
Document.title-
Setzt oder erhält den Titel des aktuellen Dokuments.
Document.URLSchreibgeschützt-
Gibt den Speicherort des Dokuments als Zeichenkette zurück.
- Benannte Eigenschaften
-
Einige Elemente im Dokument werden auch als Eigenschaften freigelegt:
- Für jedes
<embed>,<form>,<iframe>,<img>und<object>Element wird dessenname(wenn nicht leer) freigelegt. Zum Beispiel, wenn das Dokument<form name="my_form">enthält, dann gibtdocument["my_form"](und das äquivalentedocument.my_form) eine Referenz auf dieses Element zurück. - Für jedes
<object>Element wird dessenid(wenn nicht leer) freigelegt. - Für jedes
<img>Element mit nicht leeremnamewird dessenid(wenn nicht leer) freigelegt.
Wenn eine Eigenschaft einem einzigen Element entspricht, wird dieses direkt zurückgegeben. Wenn dieses einzelne Element ein iframe ist, dann wird stattdessen dessen
contentWindowzurückgegeben. Wenn die Eigenschaft mehreren Elementen entspricht, wird eineHTMLCollectionzurückgegeben, die alle enthält. - Für jedes
Veraltete Eigenschaften
Document.alinkColor-
Gibt die Farbe der aktiven Links im Dokumentkörper zurück oder setzt sie fest.
Document.all-
Bietet Zugriff auf alle Elemente im Dokument — es gibt eine
HTMLAllCollectionzurück, die am Dokumentknoten verwurzelt ist. Dies ist eine veraltete, nicht standardisierte Eigenschaft und sollte nicht verwendet werden. Document.anchorsSchreibgeschützt-
Gibt eine Liste aller Anker im Dokument zurück.
Document.appletsSchreibgeschützt-
Gibt eine leere
HTMLCollectionzurück. Eine veraltete Eigenschaft, die früher die Liste der Applets innerhalb eines Dokuments zurückgab. Document.bgColor-
Erhält/legt die Hintergrundfarbe des aktuellen Dokuments fest.
Document.charsetSchreibgeschützt-
Alias von
Document.characterSet. Verwenden Sie stattdessen diese Eigenschaft. Document.domain-
Erhält/legt die Domain des aktuellen Dokuments fest.
Document.fgColor-
Erhält/legt die Vordergrundfarbe oder Textfarbe des aktuellen Dokuments fest.
Document.fullscreen-
Gibt
truezurück, wenn das Dokument im Fullscreen-Modus ist. Document.inputEncodingSchreibgeschützt-
Alias von
Document.characterSet. Verwenden Sie stattdessen diese Eigenschaft. Document.lastStyleSheetSetSchreibgeschützt-
Gibt den Namen des Stylesheet-Sets zurück, das zuletzt aktiviert wurde. Hat den Wert
null, bis das Stylesheet durch Setzen des Wertes vonselectedStyleSheetSetgeändert wird. Document.linkColor-
Erhält/legt die Farbe der Hyperlinks im Dokument fest.
Document.preferredStyleSheetSetSchreibgeschützt-
Gibt das bevorzugte Stylesheet-Set zurück, wie es vom Seitenautor festgelegt wurde.
Document.rootElement-
Ähnlich wie
Document.documentElement, aber nur für<svg>Wurzelelemente. Verwenden Sie stattdessen diese Eigenschaft. Document.selectedStyleSheetSet-
Gibt zurück, welches Stylesheet-Set derzeit verwendet wird.
Document.styleSheetSetsSchreibgeschützt-
Gibt eine Liste der Stylesheet-Sets zurück, die im Dokument verfügbar sind.
Document.vlinkColor-
Erhält/legt die Farbe der besuchten Hyperlinks fest.
Document.xmlEncoding-
Gibt die Kodierung zurück, wie sie in der XML-Deklaration bestimmt wurde.
Document.xmlStandalone-
Gibt
truezurück, wenn die XML-Deklaration das Dokument als eigenständig spezifiziert (z.B., Ein externer Teil der DTD beeinflusst den Inhalt des Dokuments), andernfallsfalse. Document.xmlVersion-
Gibt die Versionsnummer zurück, wie sie in der XML-Deklaration angegeben ist, oder
"1.0"wenn die Deklaration fehlt.
Instanzmethoden
Dieses Interface erbt auch von den Interfaces Node und EventTarget.
Document.adoptNode()-
Nimmt einen Knoten aus einem externen Dokument an.
Document.append()-
Fügt eine Menge von
NodeObjekten oder Zeichenketten nach dem letzten Kind des Dokuments ein. Document.ariaNotify()-
Gibt an, dass ein bestimmter Text von einem Screenreader angesagt werden soll.
Document.browsingTopics()-
Gibt ein Versprechen zurück, das mit einem Array von Objekten erfüllt wird, die die wichtigsten Themen für den Benutzer darstellen, jeweils eines aus den letzten drei Epochen. Standardmäßig führt die Methode auch dazu, dass der Browser den aktuellen Seitenbesuch als vom Anrufer beobachtet aufzeichnet, so dass der Hostname der Seite später in der Themenberechnung verwendet werden kann. Siehe die Topics API für mehr Details.
Document.captureEvents()-
Siehe
Window.captureEvents. Document.caretPositionFromPoint()-
Gibt ein
CaretPositionObjekt zurück, das den DOM-Knoten und den Zeichenoffset des Cursors innerhalb dieses Knotens enthält. Document.caretRangeFromPoint()-
Ruft ein
RangeObjekt für den Dokumentfragment unter den angegebenen Koordinaten ab. Document.createAttribute()-
Erstellt ein neues
AttrObjekt und gibt es zurück. Document.createAttributeNS()-
Erstellt einen neuen Attributknoten in einem angegebenen Namensraum und gibt ihn zurück.
Document.createCDATASection()-
Erstellt einen neuen CDATA-Knoten und gibt ihn zurück.
Document.createComment()-
Erstellt einen neuen Kommentar-Knoten und gibt ihn zurück.
Document.createDocumentFragment()-
Erstellt ein neues Dokumentfragment.
Document.createElement()-
Erstellt ein neues Element mit dem angegebenen Tag-Namen.
Document.createElementNS()-
Erstellt ein neues Element mit dem angegebenen Tag-Namen und dem Namespace-URI.
Document.createEvent()-
Erstellt ein Ereignisobjekt.
Document.createNodeIterator()-
Erstellt ein
NodeIteratorObjekt. Document.createProcessingInstruction()-
Erstellt ein neues
ProcessingInstructionObjekt. Document.createRange()-
Erstellt ein
RangeObjekt. Document.createTextNode()-
Erstellt einen Textknoten.
Document.createTouch()-
Erstellt ein
TouchObjekt. Document.createTouchList()-
Erstellt ein
TouchListObjekt. Document.createTreeWalker()-
Erstellt ein
TreeWalkerObjekt. Document.elementFromPoint()-
Gibt das oberste Element an den angegebenen Koordinaten zurück.
Document.elementsFromPoint()-
Gibt ein Array aller Elemente an den angegebenen Koordinaten zurück.
Document.enableStyleSheetsForSet()-
Aktiviert die Stylesheets für das angegebene Stylesheet-Set.
Document.exitFullscreen()-
Beendet die Anzeige des Vollbild-Elements des Dokuments im Vollbildmodus.
Document.exitPictureInPicture()-
Entfernt das Video aus dem schwebenden Bild-in-Bild-Fenster zurück zu seinem ursprünglichen Container.
Document.exitPointerLock()-
Löst die Zeigersperre.
Document.getAnimations()-
Gibt ein Array aller
AnimationObjekte zurück, die derzeit in Kraft sind, deren Zielelemente Nachkommen desDokumentssind. Document.getBoxQuads()-
Gibt eine Liste von
DOMQuadObjekten zurück, die die CSS-Fragmente des Knotens repräsentieren. Document.getElementById()-
Gibt eine Objekt-Referenz auf das identifizierte Element zurück.
Document.getElementsByClassName()-
Gibt eine Liste von Elementen mit dem angegebenen Klassennamen zurück.
Document.getElementsByTagName()-
Gibt eine Liste von Elementen mit dem angegebenen Tag-Namen zurück.
Document.getElementsByTagNameNS()-
Gibt eine Liste von Elementen mit dem angegebenen Tag-Namen und Namensraum zurück.
Document.getSelection()-
Gibt ein
SelectionObjekt zurück, das den vom Benutzer ausgewählten Textbereich oder die aktuelle Position des Cursors darstellt. Document.hasPrivateToken()-
Gibt ein Versprechen zurück, das mit einem Boolean-Wert erfüllt wird, der angibt, ob der Browser ein privater Zustandstoken von einem bestimmten Anbieter gespeichert hat.
Document.hasRedemptionRecord()-
Gibt ein Versprechen zurück, das mit einem Boolean-Wert erfüllt wird, der angibt, ob der Browser ein Einlösungsdatensatz von einem bestimmten Anbieter gespeichert hat.
Document.hasStorageAccess()-
Gibt ein
Promisezurück, das mit einem Boolean-Wert erfüllt wird, der angibt, ob das Dokument Zugriff auf unpartitionierte Cookies hat. -
Neuer Name für
Document.hasStorageAccess(). Document.importNode()-
Gibt eine Kopie eines Knotens aus einem externen Dokument zurück.
Document.moveBefore()-
Verschiebt einen gegebenen
Nodeinnerhalb desDocumentDOM-Knotens als direktes Kind vor einen angegebenen Referenzknoten, ohne den Knoten zu entfernen und dann wieder einzusetzen. Document.mozSetImageElement()-
Ermöglicht es Ihnen, das Element zu ändern, das als Hintergrundbild für eine bestimmte Element-ID verwendet wird.
Document.prepend()-
Fügt eine Menge von
NodeObjekten oder Zeichenketten vor dem ersten Kind des Dokuments ein. Document.querySelector()-
Gibt den ersten Elementknoten im Dokument in Dokumentreihenfolge zurück, der die angegebenen Selektoren erfüllt.
Document.querySelectorAll()-
Gibt eine Liste aller Elementknoten im Dokument zurück, die die angegebenen Selektoren erfüllen.
Document.releaseCapture()-
Gibt die aktuelle Maus-Erfassung frei, wenn sie sich auf einem Element in diesem Dokument befindet.
Document.releaseEvents()-
Siehe
Window.releaseEvents(). Document.replaceChildren()-
Ersetzt die vorhandenen Kinder eines Dokuments durch eine angegebene neue Menge von Kindern.
Document.requestStorageAccess()-
Ermöglicht einem in drittem Kontext geladenen Dokument (d.h. eingebettet in ein
<iframe>), Zugriff auf unpartitionierte Cookies zu beantragen, in Fällen, in denen Benutzeragenten standardmäßig den Zugriff auf unpartitionierte Cookies durch Seiten blockieren, die in einem dritten Kontext geladen werden, um die Privatsphäre zu verbessern. Document.requestStorageAccessFor()-
Ermöglicht es obersten Websites, den Drittanbieter-Cookie-Zugriff im Namen eingebetteter Inhalte anzufordern, die aus einer anderen Website im selben verwandte Website-Set stammen.
Document.startViewTransition()-
Startet eine neue View Transition und gibt ein
ViewTransitionObjekt zurück, das sie repräsentiert.
Das Document Interface wird mit dem XPathEvaluator Interface erweitert:
Document.createExpression()-
Übersetzt einen
XPathExpression, der dann für (wiederholte) Auswertungen verwendet werden kann. Document.createNSResolver()-
Gibt den Eingabeknoten unverändert zurück.
Document.evaluate()-
Bewertet einen XPath-Ausdruck.
Erweiterung für HTML-Dokumente
Das Document Interface für HTML-Dokumente erbt vom HTMLDocument Interface oder wird für solche Dokumente erweitert:
Document.clear()-
Diese Methode macht nichts.
Document.close()-
Schließt einen Dokumentenstrom zum Schreiben.
Document.execCommand()-
Führt einen Formatierungsbefehl auf einem bearbeitbaren Dokument aus.
Document.getElementsByName()-
Gibt eine Liste der Elemente mit dem angegebenen Namen zurück.
Document.hasFocus()-
Gibt
truezurück, wenn der Fokus derzeit irgendwo im angegebenen Dokument liegt. Document.open()-
Öffnet einen Dokumentenstrom zum Schreiben.
Document.queryCommandEnabled()-
Gibt true zurück, wenn der Formatierungsbefehl im aktuellen Bereich ausgeführt werden kann.
Document.queryCommandIndeterm()-
Gibt true zurück, wenn der Formatierungsbefehl im aktuellen Bereich in einem unbestimmten Zustand ist.
Document.queryCommandState()-
Gibt true zurück, wenn der Formatierungsbefehl im aktuellen Bereich ausgeführt wurde.
Document.queryCommandSupported()-
Gibt true zurück, wenn der Formatierungsbefehl im aktuellen Bereich unterstützt wird.
Document.queryCommandValue()-
Gibt den aktuellen Wert des aktuellen Bereichs für einen Formatierungsbefehl zurück.
Document.write()-
Schreibt Text in ein Dokument.
Document.writeln()-
Schreibt eine Textzeile in ein Dokument.
Statische Methoden
Dieses Interface erbt auch von den Interfaces Node und EventTarget.
Document.parseHTML()-
Erstellt ein neues
DocumentObjekt aus einem HTML-String auf eine XSS-sichere Weise mit Bereinigung. Document.parseHTMLUnsafe()-
Erstellt ein neues
DocumentObjekt aus einem HTML-String ohne Bereinigung durchzuführen. Der String darf deklarative Shadow Roots enthalten.
Ereignisse
Hören Sie auf diese Ereignisse mit addEventListener() oder indem Sie einen Ereignislistener auf die oneventname Eigenschaft dieses Interfaces zuweisen. Zusätzlich zu den unten aufgelisteten Ereignissen können viele Ereignisse von Knoten im Dokumentbaum blubbern.
afterscriptexecute-
Wird ausgelöst, wenn ein statisches
<script>Element die Skriptausführung beendet. beforescriptexecute-
Wird ausgelöst, wenn ein statisches
<script>Element mit der Skriptausführung beginnt. prerenderingchange-
Wird auf einem vorgeladenen Dokument ausgelöst, wenn es aktiviert wird (d.h. der Benutzer sieht die Seite).
securitypolicyviolation-
Wird ausgelöst, wenn eine Inhalts-Sicherheitsrichtlinie verletzt wird.
visibilitychange-
Wird ausgelöst, wenn der Inhalt eines Tabs sichtbar wird oder verborgen ist.
Vollbild-Ereignisse
fullscreenchange-
Wird ausgelöst, wenn das
Documentin den oder aus dem Vollbildmodus wechselt. fullscreenerror-
Wird ausgelöst, wenn ein Fehler beim Versuch, in den oder aus dem Vollbildmodus zu wechseln, auftritt.
Lade- und Entladeereignisse
DOMContentLoaded-
Wird ausgelöst, wenn das Dokument vollständig geladen und analysiert wurde, ohne darauf zu warten, dass Stylesheets, Bilder und Unterrahmen das Laden beenden.
readystatechange-
Wird ausgelöst, wenn sich das
readyStateAttribut eines Dokuments geändert hat.
Zeigersperren-Ereignisse
pointerlockchange-
Wird ausgelöst, wenn der Zeiger gesperrt/entsperrt wird.
pointerlockerror-
Wird ausgelöst, wenn das Sperren des Zeigers fehlgeschlagen ist.
Scroll-Ereignisse
scroll-
Wird ausgelöst, wenn das Dokument oder ein Element gescrollt wurde.
scrollend-
Wird ausgelöst, wenn das Dokument oder ein Element das Scrollen abgeschlossen hat.
scrollsnapchange-
Wird am Scrollcontainer am Ende eines Scrollvorgangs ausgelöst, wenn ein neues Scroll-Snap-Ziel ausgewählt wurde.
scrollsnapchanging-
Wird am Scrollcontainer ausgelöst, wenn der Browser bestimmt, dass ein neues Scroll-Snap-Ziel aussteht, d.h. es wird ausgewählt, wenn die aktuelle Scrollgeste endet.
Auswahlereignisse
selectionchange-
Wird ausgelöst, wenn die aktuelle Textauswahl in einem Dokument geändert wird.
Geblubberte Ereignisse
Nicht alle Ereignisse, die blubbern, können das Document Objekt erreichen. Nur die folgenden tun es und können am Document Objekt abgehört werden:
abortauxclickbeforeinputbeforematchbeforetoggleblurcancelcanplaycanplaythroughchangeclickclosecontextlostcontextmenucontextrestoredcopycuechangecutdblclickdragdragenddragenterdragleavedragoverdragstartdropdurationchangeemptiedendederrorfocusformdatainputinvalidkeydownkeypresskeyuploadloadeddataloadedmetadataloadstartmousedownmouseentermouseleavemousemovemouseoutmouseovermouseuppastepauseplayplayingprogressratechangeresetresizescrollscrollendsecuritypolicyviolationseekedseekingselectslotchangestalledsubmitsuspendtimeupdatetogglevolumechangewaitingwheel