HTML und Javascript
Hier möchte ich einige Tips und Javascripts veröffentlichen die ich sonst nirgends gefunden habe oder die ich aus anderen Gründen für wichtig halte.
HTTP ist unsicher
(?) Fragezeichen! Google behauptet das. Ja, HTTP ist unsicher wenn Sie über eine Seite Passwörter oder
persönliche Daten eingeben und jemand genug Interesse daran hat um einen nicht
unerheblichen Aufwand dafür zu treiben. Dies trifft auf meine Site (und unzählige
andere) nicht zu. Sie enthält Informationen,
die ich bewusst öffentlich gemacht habe, die politisch und rechtlich in wohl jedem
Land der Welt unbedenklich sind, nicht mit personenbezogenen Daten arbeitet
und ich wüsste auch nicht, was jemand davon hätte
mitzulesen, wie sein Nachbar oder eine andere $PERSON_
Google Chrome wird meine Site ab Juli 2018 als unsicher
markieren.
Ich hoste meine Site kostenlos auf meinem 1&1-sein
Internet.
So werden tausende Sites als unsicher
markiert obwohl von ihnen
keine Gefahr ausgeht. Das wird letztlich dazu führen, dass User das unsicher
einfach ignorieren und so auf tatsächlich unsichere Seiten hereinfallen
werden. Wem ist damit geholfen? Google hat sicherlich eine Antwort...
Vermutlich ist es einfach nur Google!
Bullshit by Design
Das ist meine Zusammenfassung für Javascript.
Eine Programmiersprache, in der Variablen weder deklariert noch typisiert werden müssen ist ein Designfehler.
Ich musste zum Glück noch nicht so viel in Javascript programmieren
aber ich bin schon in einige Fallen getappt und habe Stunden mit der
Suche nach Fehlern verbracht, die es in einer vernünftigen
Sprache einfach
nicht gegeben hätte:
- Fehlende Typisierung: ob 11+11 22 oder 1111 ergibt hängt nur davon
ab ob der Compiler die
11
als String oder als Number auffasst. Der Workaround, den ich im Internet gefunden habe, liegt darin, die Variable vorher mit 1.0 zu multiplizieren um sicherzustellen dass es eine Number ist. Das ist Bullshit. - Fehlende Deklarationspflicht: wenn Sie vergessen, eine als lokal gedachte Variable als solche zu deklarieren, wird sie stillschweigend global deklariert. Noch schlimmer: eine eventuelle gleichnamige globale Variable eines anderen Skripts wird gnadenlos mitbenutzt. Skripte, die getrennt voneinander fehlerfrei funktionieren versagen plötzlich wenn sie zusammen verwendet werden. Das ist Bullshit.
Seit ECMA5, das 2008 erschien, gibt es zumindest die Möglichkeit durch use strict
zumindest
den zweiten Punkt zu eliminieren. Na ja, besser spät als nie.
Aber don't use strict
ist immer noch der Default, damit alte Scripte weiterhin funktionieren...
SI-Prefix
Als ich danach gesucht habe dachte ich, ich würde zig Seiten finden,
die sich damit beschäftigen aber ich konnte nicht eine mit nützlichem
Inhalt finden.
Komisch, nicht wahr?
Hier nun ein kleines Javascript das es erlaubt, Eingaben mit
SI-
Es konvertiert Eingaben wie 1k3, 1.2M oder sogar vergleichsweise unsinnige wie 1e6u in
eine entsprechende Javascript-
Das Skript ist keine besonders hohe Programmierkunst aber wahnsinnig nützlich
und ich hoffe sie haben Freude daran.
Wenn Sie einen Fehler darin finden oder eine Erweiterung vorschlagen möchten wäre
ich Ihnen für eine kurze Nachricht
dankbar!
Ich muss an dieser Stelle nochmal darauf hinweisen: Dieses Skript hat für mich funktioniert, ich kann jedoch keine Gewähr dafür übernehmen, das es unter allen Umständen und Eingabebedingungen (User sind erfinderisch!) korrekte Werte liefert. Wenn Sie es benutzen tun sie dies auf eigene Verantwortung und eigenes Risiko!
Ich verwende das Skript ausgiebig in meinen
Elektronik-
SSI, UTF und BOM
Ich verwende Server-
Nun habe ich Stunden damit zugebracht herauszufinden, warum auf einem
Teil meiner Seiten plötzlich ein Zwischenraum oberhalb des Logos erschien.
Des Rätsels Lösung: mein Lieblingseditor
hat die Include-
Sitemap.xml
Haben Sie sich auch schon mal darüber geärgert, dass Google von Ihrer Site
eine Sitemap.xml
-
Allerdings wird eine Sitemap in der jede einzelne Seite
die Priority 0.8 hat wohl eher zur Abwertung führen.
Das einzige Plus wäre, dass Sie aktiv Wertigkeiten Ihrer Seiten angeben können.
Das hätte man problemlos auch mit einem Meta-
Ich habe keine Sitemap eingereicht und werde das auch nicht tun. Das ist mir einfach zuviel Arbeit!
Für mich ist es auch nicht wichtig, dass ich mit allen Mitteln möglichst an erster Stelle
der Google-
Mehrere H1 pro Seite
Warum nicht? Der Titel der Seite steht im Title-
Es gibt Stimmen die behaupten, Yahoo (sowie Bing) würde Seiten mit mehreren h1 abwerten. Nun, die Treffer die ich von Yahoo oder Bing bekomme machen weniger als 1% aus so dass mir das wirklich ziemlich egal ist. Google scheint sich meiner Meinung anzuschließen :-)
Es mag sein, dass dies ein selbstverstärkender Vorgang ist. Vielleicht habe ich nur
deshalb sowenig Yahoo-
Nach meiner Erfahrung gibt es nur eine Suchmaschine auf die ich meine Site optimieren muss. Den Namen kennen Sie. Alles andere ist absolut bedeutungslos.
Srcset und AMP
In Zeiten von 5G, in der Leute aus Langeweile in der S-Bahn 4k-Videos streamen, macht Google sich Gedanken wie man für Mobilgeräte die Datenmenge von Bildern reduzieren könnte. Image Lint beschwert sich, dass ein 200-Pixel-Bild als niedrigste Auflösung zu hoch ist. Das Bild hat keine neun Kilobytes, also etwa soviel wie eine tausendstel Sekunde eines 4k-Videos!
Dass man nicht zig CSS-Dateien und Skripte einbindet wenn man eine schnelle Site haben will ist selbstverständlich und sollte jedem Webentwickler klar sein. Bezeichnenderweise dürfen verschiedene Elemente von AMPs nur von Google-Servern eingebunden werden. Ein Schelm wer Böses dabei denkt...
Tooltips
Ich habe viele tolle CSS-Codes gefunden, die hübsche Tooltips erzeugen, aber
nicht ein einziges, das auch funktioniert wenn das Element ganz links oder ganz rechts erscheint.
Stets wurde der Tooltip nicht vollständig angezeigt sondern links oder rechts abgeschnitten.
Die einzige mir naheliegende Methode ist ein simpler span mit einem Title-
Automatische Silbentrennung
... schön wär's! Im Open-Source-Environment hat sich aspell weitgehend durchgesetzt. Seine Trennvorschläge dürften jedoch ein Hauptquell von Deppenleerzeichen im Deutschen sein. Während die Silbentrennung im Englischen ganz gut funktioniert lässt sie sich im Deutschen nicht so einfach automatisieren. Kennt aspell ein zusammengesetztes Wort nicht, schlägt es einfach vor, es getrennt zu schreiben. Und es kennt viele Worte nicht! Und schon haben Sie in 90% der Fälle ein Deppenleerzeichen!
Zur Silbentrennung meiner HTML-Seiten habe ich mir ein kleines Perl-Skript geschrieben.
Web- und TTF-Font LCD 5x7
Für meine Eload-Seite war ein Zeichensatz wünschenswert, der dem eines 5x7 Displays mit einem HD44780 entspricht.
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
Ich habe ihn kurzerhand mit FontForge selbst erstellt und stelle ihn hier zum Download als TTF und als WOFF-Font zur Verfügung. Frei für jegliche Verwendung außer zum Verkauf. Pimpen Sie Ihre gedruckte Dokumentation oder Ihre Website, privat oder gewerblich, was Sie wollen, es ist frei!
Es würde mich freuen, wenn er für Sie nützlich wäre und ich wäre glücklich über eine Mitteilung, ob und wofür Sie ihn benutzen. Danke.
Ich habe mich bemüht, eine pixelgenaue Wiedergabe des HD44780 zu erreichen. Allerdings sind die Zeichen
oberhalb 127 nicht implementiert. Dafür habe ich einige Zeichen eingefügt, die ich als Soft-
Zeichen | Position | HTML | Darstellung |
---|---|---|---|
Antenne | 161 (0xa1) | iexcl | ¡ |
µ | 181 (0xb5) | micro | µ |
Ω | 937 (0x3a9) | Omega | Ω |
Die eingestellte Größe kann erheblichen Einfluss auf die visuelle Darstellungsqualität des Fonts haben,
speziell bei Geräten mit begrenzter physikalischer Auflösung wie man es bei Webseiten findet.
Ändern Sie die Größe um einige Prozent um ein besseres User-
Inzwischen habe ich den Font noch um deutsche Umaute sowie die Balkencodes für die Füllstandsanzeige ergänzt. Diese sind im Standard-Zeichensatz des HD44780 nicht enthalten, können jedoch bei Bedarf problemlos als Soft-Characters erzeugt werden.
Web- und TTF-Font LED/LCD 7-Segment
Im Rahmen meines Digital-
Da ich einen solchen nicht im Netz gefunden habe, biete ich auch meine selbst erstellte Version zum Download als TTF oder WOFF an.
Darstellungsbeispiel:
rE5Et. CLEAr. don't touch. 5YNC. 1234567890. YE5. no. N0. N0. Abort. 51-23=28.
Auch hier, frei für jegliche Verwendung außer zum Verkauf!
Natürlich können Sie auch hier Vordergrund- und Hintergrundfarbe nach Ihren Wünschen anpassen, beispielsweise für ein LCD:
rE5Et. CLEAr. don't touch. 5YNC. 1234567890. YE5. no. N0. N0. Abort. 51-23=28.
Sehen Sie hier die realisierten Zeichen.
Hinweis: Dies ist kein vollwertiger Schreibfont! Er enthält nur Zeichen die
mit einem Siebensegment-Display darstellbar sind, also z.B. ein großes A
aber kein kleines,
ein kleines b
aber kein großes,
eine geschlossene eckige Klammer aber keine offene (die genauso aussehen
würde wie das große C
).
Natürlich enthält er auch kein x
, w
oder v
, da diese Zeichen
mit sieben Segmenten nicht darstellbar sind.
Für ein großes O
müssen sie eine Ziffer 0
nehmen, für ein großes I
eine Ziffer 1
. Siebensegment halt.
Mehr geht nicht.
Damit können Sie aber auch Ihr Siebensegment-
Auch hier gilt: durch die harten Grenzen des Fonts kann die Darstellungsgröße
erheblichen Einfluß auf den sichtbaren Eindruck bewirken.
Wählen Sie ggf. den Font einige Prozent größer oder kleiner
um ein besseres User-
Hier eine Seite zum Testen der Fonts in unterschiedlichen Größen. Testen Sie mit verschiedenen Browsern auf unterschiedlichen Geräten mit unterschiedlichen Auflösungen und unterschiedlichen Betriebssystemen.