Autor: peter@peterkroener.de
-
Unsortierte Erkenntnisse zu Formular-Elementen mit Custom Elements, Teil 1 von N
nIn der Theorie können wir Webentwickler:innen mit Custom Elements alles erreichen, was der Browser mit nativen Elementen schafft. Eigene Tags, eigene Attribute, eigene Events, Kapselung mit Shadow DOM – an Werkzeugen herrscht kein Mangel. Selbst eigene Formular-Inputs sind machbar, aber wer auf Mastodon folgt, hat über diverse unzusammenhängende Posts mitbekommen, dass das gar nicht mal…
-
Ornament – Eine Web-Component-Microlibrary
nn nDie Krux mit der Komplexität moderner Webanwendungen ist, dass die Vergangenheit vorbei ist und wir das Rad der Zeit nicht zurückdrehen können. Es ist nicht sinnvoll, einfach React, Vue, Angular und Co. komplett links liegenzulassen und wieder Webapps mit jQuery bauen, denn obwohl jQuery selbst noch genau wie früher funktioniert, funktioniert die Welt nicht…
-
Webtech-Erklärbär-Termine Q4 2023
nDie Pest hat mehr oder minder den Schwanz eingezogen und der Webtech-Erklärbär traut sich wieder aus seiner Höhle heraus. Ein ganz klein bisschen Angst macht mir dieser Terminplan, dem auch noch alle Inhouse-Termine fehlen, schon. Aber umso besser für euch: es gibt wieder diverse Möglichkeiten, sich von mir diversen Webtech-Kram auf Konferenzen überall im Land…
-
Im Kaninchenbau der Array-Erkennung
nAuf Twitter (die Älteren unter uns erinnern sich sicher noch) fragte Nikolaus: „Woran, wenn nicht am Prototypen, erkennt Array.isArray() Arrays“ und bekam von mir eine viel zu kurze Antwort. Es folgt in diesem Artikel die Langfassung!n nn nn nn nHeutzutage ist Array-Erkennung ganz einfach: die Spezifikationen legen direkt fest, dass Array.isArray() Arrays erkennt! Genau genommen…
-
TypeScript-Funktionen mit unknown-Parametern überladen – Wie, wann und warum
nDie Menge der Programmiersprachen-Features, die absolut radioaktiv sind und die niemand jemals benutzen sollte, ist meiner Überzeugung nach kleiner als viele glauben. Egal ob JavaScript-Features aus der Jungsteinzeit oder any in TypeScript, ich persönlich greife sehr gerne in die Mottenkiste, wenn es hilft, das aktuelle Problem zu lösen. Natürlich gehört zum Einsatz dieser… kontroversen Features…
-
Canvas-Hardwarebeschleunigung per JavaScript selektiv abschalten
nDer Edge rendert auf manchen Laptops PDFs komisch, wenn Hardwarebeschleunigung an ist, sprach der Kunde zu mir und blickte hoffnungsvoll. Und es stimmte – oft (nicht immer), wenn Edge auf den gerade frisch in seiner Firma ausgerollten Laptops (nicht den alten Laptops) ein PDF in der Inhouse-Webapp zu rendern versuchte, waren einzelne Buchstaben entweder ganz unsichtbar…
-
Die famose Fail-Funktion!
nIn der Programmierung sind es immer die kleinen Dinge, die einen entweder in die Schreibtischplatte beißen lassen oder das Coding sehr viel angenehmer machen. In die zweite Kategorie fällt für mich die einfache, aber effektive Fail-Funktion. Diese schleppe ich schon seit Jahren mit mir herum und verwende sie in praktisch jedem Projekt oder Experiment, das…
-
How to Center in CSS, Scrollbar Edition
nDer älteste Witz des bekannten Webdev-Universums besteht darin, dass es nicht komplett trivial ist, Elemente mit CSS vertikal zu zentrieren. Dieser Witz ist spätestens seit Frühjahr 2021, als mit dem Internet Explorer 11 der letzte nicht perfekt Flexbox unterstützende Browser auf das Abstellgleis befördert wurde, hinfällig. Seither, so wissen wir alle, könnte es einfacher nicht…
-
100.000 MutationObserver vs. 100.000 Funktionen
nIst die Performance eines MutationObserver mit 100.000 Callbacks besser als die Performance von 100.000 MutationObservers mit je einem Callback? Und wenn ja, wie groß ist der Unterschied? Diese Frage tat sich vor mir auf, als ich einst an einer Browser-Extension schraubte, die das DOM einer Seite überwacht und in diesem Kontext sind sowohl Performance als auch MutationObserver…
-
Code-Golf mit JavaScript-Arrays und regulären Ausdrücken
nVor kurzem wollte ich aus einem <code>-Element die Sprache der enthaltenen Programmiersprache extrahieren. HTML5 etablierte hierfür schon in der Jungsteinzeit eine Konvention, nach der diese Information in der Klasse des fraglichen <code>-Elements zu lagern hat:n nn <code class=“language-javascript“>/* JS-Code hier */<code> nn nIm Prinzip ist das keine große Herausforderung: wir greifen uns den className des…