Autor: peter@peterkroener.de
-
DOMNodeInserted-Events durch Mutation Observer ersetzen
nIn den letzten Wochen hatte ich mal wieder Zeit ein wenig selbst zu programmieren und wollte ein wenig mit Höhen und Breiten von dynamisch generierten DOM-Elementen rechnen. Das Problem hierbei ist, dass die wahren Höhen und Breiten eines Elements erst feststehen, wenn es im Dokument gelandet ist. Also galt es, den Zeitpunkt des Einfügens eines…
-
Progressive Web Apps ohne HTTPS auf Mobilgeräten testen
nProgressive Web Apps (bzw. Service Worker) funktionieren nicht ohne HTTPS und das ist auch gut so. Wir haben 2017 und Webstandards sollten wahrlich Secure By Default sein. HTTPS ist kein Hexenwerk, bedeutet aber doch einen gewissen Aufwand, gerade wenn man als Entwickler nur mal schnell einen Prototyp zusammenschrauben möchte. Daher lassen Browser für die lokale…
-
Immutable Arrays und Objekte für JavaScript mit Proxies (in 33 Zeilen)
nDatenstrukturen, deren Inhalt, sobald einmal festlegt, nicht mehr geändert werden kann sind etwas, das in JavaScript von immer mehr Entwicklern verlangt wird. So ganz nachvollziehen kann ich das persönlich das nicht – wann immer ich möchte, dass ein Objekt unveränderlich ist, verändere ich es eben nicht. In meinem Alltags-Code wende ich dieses Verfahren auf 99% meiner…
-
JavaScript-Funktionen mit definierter length-Eigenschaft erzeugen: drei Ansätze
nIch habe mich in den letzten Wochen viel mit JavaScript-Funktionen beschäftigt, die andere JavaScript-Funktionen umbauen. Ein gutes Beispiel für solche Funktionen ist die_.flip()-Funktion von Lodash, die die Parameter-Reihenfolge einer Funktion umdreht:n nn function oldFn (a, b, c) {n return a + b + c;n}nnlet newFn = _.flip(oldFn);nnconsole.log(newFn(„a“, „b“, „c“)); // > „cba“ nn nFunktionsumbau-Funktionen finde…
-
Man kann nicht kein JavaScript-Framework verwenden
nn nIch war vor ein paar Wochen bei einer Firma zu Besuch, die für eines ihrer Produkte ein neues Webfrontend plant. Der JavaScript-Framework-Gretchenfrage stehe ich persönlich recht teilnahmslos gegenüber. Mein Eindruck ist, dass keins der populären Frameworks wesentlich schlimmer ist als die anderen populären Kandidaten. Entsprechend nutzlos ist es meistens, mich zu fragen, ob denn…
-
Ein ironiefreier Anwendungsfall für new Number() in JavaScript
nObwohl ich nicht erst seit gestern JavaScript schreibe, gibt es noch ein paar „Features“ in der Sprache, die ich nie in ernst gemeintem Code eingesetzt habe. Dabei gehöre ich nicht mal zur Spanische-Inquisition-Fraktion, die jeden, der mal new Function() geschrieben hat, in den Kerker werfen möchte – wenn etwas funktioniert und in einem speziellen Fall keine…
-
Script-Elemente von einem Dokument ins nächste importieren
n nDieser Artikel befasst sich mit einem Problem aus den Randbezirken der täglichen Praxisrelevanz, aber da ich daran ganz schön herumtüfteln musste, kann die Nachwelt sich vielleicht nach der Lektüre der nächsten paar Zeilen ein wenig Arbeit ersparen. Das Problem tauchte auf, als ich einen Bug in meiner kleinen Web Component namens html-import bemerkte. Die…
-
Fragen zu HTML5 und Co beantwortet 23 – Semikolons, Flexbox-Breiten, Formulare
n nDieser Artikel ist Teil einer Serie:n n Fragen zu HTML5 & Co 1 n Fragen zu HTML5 & Co 2 n Fragen zu HTML5 & Co 3 n Fragen zu HTML5 & Co 4 n Fragen zu HTML5 & Co 5 n Fragen zu HTML5 & Co 6 n Fragen zu HTML5 & Co…
-
Fragen zu HTML5 und Co beantwortet 22 – Addition, Polyfills, Service Worker, Breakpoints für Responsive
n nDieser Artikel ist Teil einer Serie:n n Fragen zu HTML5 & Co 1 n Fragen zu HTML5 & Co 2 n Fragen zu HTML5 & Co 3 n Fragen zu HTML5 & Co 4 n Fragen zu HTML5 & Co 5 n Fragen zu HTML5 & Co 6 n Fragen zu HTML5 & Co…
-
Ein kleines CSS-Rätsel (mit Auflösung)
nn nAm Freitag twitterte ich ein kleines CSS-Rätsel und bekam so viele verschiedene Antworten, dass ich an dieser Stelle nochmal die ausführliche (richtige) Antwort aufschreiben möchte.n nn nDie Frage dreht sich darum, welche Farbe der Text im folgenden HTML-Schnipsel erhält …n nn <p class=“foo“>n An</p> nn n… wenn dieses CSS auf ihn losgelassen wird:n nn p.foo:not(#baz)…