Mehrere PHP / JS Audio-Player, Stop Player wenn anderer Player abspielt
bearbeitet von
Hallo Gunnar,
> die NodeList
Welche NodeList?!
> Dafür gibt’s ja for...of und forEach().
Überraschenderweise ist die Antwort darauf nicht „komplett falsch“, sondern nur „zur Hälfe falsch“.
Die älteren DOM-Methoden liefern keine NodeList, sondern eine HTMLCollection. Eine HTMLCollection ist für zwei Dinge berüchtigt:
(a) sie ist live
(b) sie kann fast nichts.
Die forEach-Methode fehlt erwartungsgemäß.
Die Überraschung ist, dass HTMLCollection.prototype Symbol.iterator enthält (in aktuellen Chromes und Feuerfüchsen) und damit for...of unterstützt. Die [Spezifikation](https://dom.spec.whatwg.org/#interface-htmlcollection) weiß davon nichts, MDN auch nicht.
Historische Recherche ergibt [diese Stackoverflow-Seite](https://stackoverflow.com/questions/31283360/are-htmlcollection-and-nodelist-iterables), wo jemand auf einen 2014er Commit der DOM Spec verweist. Demnach war es mal geplant, HTMLCollection als iterable zu deklarieren und offenbar haben die Browser das implementiert - aber dann gab's [Widerworte](https://www.w3.org/Bugs/Public/show_bug.cgi?id=23212) und es ist dann wohl aus der DOM-Spec wieder entfernt worden.
_Rolf_
--
sumpsi - posui - obstruxi
Mehrere PHP / JS Audio-Player, Stop Player wenn anderer Player abspielt
bearbeitet von
Hallo Gunnar,
> die NodeList
Welche NodeList?!
> Dafür gibt’s ja for...of und forEach().
Überraschenderweise ist die Antwort darauf nicht „komplett falsch“, sondern nur „zur Hälfe falsch“.
Die älteren DOM-Methoden liefern keine NodeList, sondern eine HTMLCollection. Eine HTMLCollection ist für zwei Dinge berüchtigt:
(a) sie ist live
(b) sie kann fast nichts.
Die forEach-Methode fehlt erwartungsgemäß.
Die Überraschung ist, dass HTMLCollection.prototype Symbol.iterator enthält (in aktuellen Chromes und Feuerfüchsen) und damit for...of unterstützt. Die [Spezifikation](https://dom.spec.whatwg.org/#interface-htmlcollection) weiß davon nichts, MDN auch nicht.
Historische Recherche ergibt [diese Stackoverflow-Seite](https://stackoverflow.com/questions/31283360/are-htmlcollection-and-nodelist-iterables), wo jemand auf einen ältern Commit der DOM Spec verweist. Demnach war es mal geplant, HTMLCollection als iterable zu deklarieren und offenbar haben die Browser das implementiert - aber dann gab's [Widerworte](https://www.w3.org/Bugs/Public/show_bug.cgi?id=23212) und es ist dann wohl aus der DOM-Spec wieder entfernt worden.
_Rolf_
--
sumpsi - posui - obstruxi
Mehrere PHP / JS Audio-Player, Stop Player wenn anderer Player abspielt
bearbeitet von
Hallo Gunnar,
> die NodeList
Welche NodeList?!
> Dafür gibt’s ja for...of und forEach().
Überraschenderweise ist die Antwort darauf nicht „kompletter falsch“, sondern nur „zur Hälfe falsch“.
Die älteren DOM-Methoden liefern keine NodeList, sondern eine HTMLCollection. Eine HTMLCollection ist für zwei Dinge berüchtigt:
(a) sie ist live
(b) sie kann fast nichts.
Die forEach-Methode fehlt erwartungsgemäß.
Die Überraschung ist, dass HTMLCollection.prototype Symbol.iterator enthält (in aktuellen Chromes und Feuerfüchsen) und damit for...of unterstützt. Die [Spezifikation](https://dom.spec.whatwg.org/#interface-htmlcollection) weiß davon nichts, MDN auch nicht.
Historische Recherche ergibt [diese Stackoverflow-Seite](https://stackoverflow.com/questions/31283360/are-htmlcollection-and-nodelist-iterables), wo jemand auf einen ältern Commit der DOM Spec verweist. Demnach war es mal geplant, HTMLCollection als iterable zu deklarieren und offenbar haben die Browser das implementiert - aber dann gab's [Widerworte](https://www.w3.org/Bugs/Public/show_bug.cgi?id=23212) und es ist dann wohl aus der DOM-Spec wieder entfernt worden.
_Rolf_
--
sumpsi - posui - obstruxi