HTML and Javascript Page in English
HTML and Javascript Page in English

HTML und Javascript

Hier möchte ich einige Tips und Java­scripts ver­öffent­li­chen die ich sonst nir­gends gefun­den habe oder die ich aus an­de­ren Grün­den für wich­tig halte.

HTTP ist unsicher

(?) Frage­zeichen! Google be­haup­tet das. Ja, HTTP ist un­si­cher wenn Sie über eine Seite Pass­wör­ter oder per­sön­liche Da­ten ein­geben und jemend genug In­teres­se daran hat um einen nicht un­er­heb­lichen Auf­wand dafür zu trei­ben. Dies trifft auf meine Site (und un­zählige andere) nicht zu. Sie enthält In­for­ma­tio­nen, die ich bewusst öffentlich gemacht habe, die politisch und rechtlich in wohl jedem Land der Welt un­be­denk­lich sind, nicht mit per­so­nen­be­zo­ge­nen Da­ten ar­bei­tet und ich wüsste auch nicht, was je­mand davon hät­te mit­zu­le­sen, wie sein Nach­bar oder eine andere $PERSON_OF_INTEREST sich durch meine Site klickt. Dass er es tut kann er auch wenn ich HTTPS ver­wen­de se­hen. Le­dig­lich welche Seiten genau und even­tuel­le Einga­ben kann er dann nicht mit­lesen. Aber selbst welche Seiten sie abrufen kann er anhand der übertragenen Datenmenge ziemlich sicher ermitteln.

Google Chrome wird mei­ne Site ab Juli 2018 als 'un­sicher' mar­kieren. Ich hoste mei­ne Site kos­ten­los auf mei­nem 1&1-Account, bei dem SSL (und damit HTTPS) lei­der nicht mög­lich ist. Ich ver­die­ne damit kei­nen Cent und bin ent­spre­chend auch nicht be­reit, für ei­nen HTTPS-Ser­ver und das ent­sprechende Zer­tifi­kat zu zah­len (und na­tür­lich auch nicht für ent­spre­chen­de Google-An­zei­gen). Wenn Google (der ja Bu­si­ness-orien­tiert denkt) nun meine Site mit die­sem Schein­ar­gu­ment ab­wer­tet wird sie wohl irgend­wann ver­schwin­den. Mir scha­det das nicht (obwohl es mir na­tür­lich leid tun wür­de), aber den Leu­ten, die von mei­ner Site pro­fi­tie­ren könn­ten. So wird freies Wis­sen und Open Source, si­cher­lich nicht nur auf mei­ner Site ver­nich­tet. Sehr schade, aber Geld re­giert be­kannt­lich die Welt! Leute wie ich zahlen ja schließlich auch nicht für An­zei­gen bei Google und so passe ich nicht in 'sein' Inter­net.

So werden tausende Seiten 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...

Bullshit by Design

Das ist meine Zu­sam­menfas­sung für Java­script.

Eine Program­mier­sprache, in der Vari­ablen we­der de­klariert noch typi­siert wer­den müs­sen ist ein Design­fehler.

Ich musste zum Glück noch nicht so viel in Java­script pro­gram­mie­ren aber ich bin schon in ei­nige Fal­len getappt und habe Stun­den mit der Suche nach Feh­lern ver­bracht, die es in ei­ner 'ver­nünf­ti­gen' Spra­che ein­fach nicht ge­geben hätte:

SI-Prefix

Als ich danach ge­sucht ha­be dachte ich, ich wür­de zig Sei­ten fin­den, die sich da­mit be­schäf­tigen aber ich konnte nicht ei­ne mit nütz­lichem In­halt fin­den. Komisch, nicht wahr? Hier nun ein klei­nes Java­script das es er­laubt, Ein­ga­ben mit SI-Pre­fixen vorzu­nehmen und das Aus­gaben in eben­solchen dar­stellt.
Es konver­tiert Eingaben wie 1k3, 1.2M oder sogar ver­gleichs­weise unsin­nige wie 1e6u in eine entspre­chende Java­script-Number und wandelt Numbers in eine geeig­nete SI-Schreib­weise.
Das Script ist keine be­son­ders hohe Pro­gram­mier­kunst aber wahn­sinnig nütz­lich und ich hoffe sie haben Freu­de da­ran. Wenn Sie einen Feh­ler da­rin fin­den oder eine Er­wei­terung vor­schla­gen möch­ten wäre ich Ihnen für eine kur­ze Nachricht dankbar!

Ich muss an dieser Stel­le noch­mal darauf hin­weisen: Die­ses Script hat für mich funk­tio­niert, ich kann je­doch keine Ge­währ dafür über­neh­men, das es unter al­len Um­stän­den und Ein­gabe­beding­ungen (User sind er­finderisch!) kor­rekte Wer­te lie­fert. Wenn Sie es be­nutzen tun sie dies auf ei­gene Ver­ant­wor­tung und ei­ge­nes Ri­si­ko!

Ich ver­wende das Script aus­giebig in mei­nen Elek­tronik-Rechnern in denen es sich gut be­währt hat.

SSI, UTF und BOM

Ich ver­wen­de Server-Side-In­clu­des um u.A. das Menü in mei­ne Web­seiten zu inte­grieren.
Nun habe ich Stunden damit zuge­bracht heraus­zu­finden, warum auf einem Teil meiner Seiten plötz­lich ein Zwi­schen­raum ober­halb des Logos erschien.

Des Rätsels Lösung: mein Lieb­lings­edi­tor hat die Include-Datei als UTF mit BOM abge­speichert. Das Include er­zeugte des­halb einen Zeilen­um­bruch vor dem Logo! Also, Datei ge­la­den, Ko­dierung ge­än­dert auf UTF ohne BOM und es funkt­ionierte wie er­wartet!

Sitemap.xml

Haben Sie sich auch schon mal darüber geär­gert, dass Google von Ihrer Site eine "Sitemap.xml"-Da­tei ha­ben will? Wer hat sich die­sen Schwach­sinn aus­ge­dacht? Eine Site­map kann (und wird) sich Google an­hand Ihrer in­ternen Links selbst er­stel­len. Wenn Ihre Site tote Seiten en­thält (die nicht von Ihrer Domain aus ver­linkt sind) ist das Ihr Feh­ler. Selbst Xenu kann das.

Allerdings wird eine Site­map in der je­de ein­zel­ne Sei­te die Pri­ority 0.8 hat wohl eher zur Ab­wer­tung füh­ren. Das einzige Plus wäre, dass Sie aktiv Wertigkeiten Ihrer Seiten angeben können. Das hätte man pro­blem­los auch mit ei­nem Meta-Tag er­rei­chen kön­nen, ohne den Zwang einer XML-Da­tei die, wenn sie nicht ex­trem sorg­fäl­tig vorgehen, nie­mals den vol­len Um­fang Ihrer Sei­ten re­flek­tie­ren oder auch nicht mehr exis­tierende Da­tei­en ent­hal­ten wird (was ver­mutlich zur Ab­wer­tung führt).

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-Treffer lande. Für die User, die von meiner Site profi­tieren könnten wäre es wichtig, aber nicht für mich. Wenn Sie einen Shop betrei­ben könnte das natür­lich anders aussehen. Dann viel Spaß mit der Sitemap.xml...

Mehrere H1 pro Seite

Warum nicht? Der Titel der Seite steht im Title-Tag. Warum also soll­te es eine ein­zige h1 geben, die ge­nau­so lautet wie der Titel? Das ist Quatsch. Eine Html-Seite ist nicht not­wen­diger­weise ein Kapitel eines Buches, es ist eine Seite und eine Seite kann mehr als eine Über­schrift be­in­hal­ten (oder auch gar ke­ine). Warum soll­te ich ein Layout defi­nieren, in dem h2 genauso aussieht wie h1?

Es gibt Stimmen die behaupten, Yahoo (sowie Bing) würde Seiten mit mehreren h1 ab­wer­ten. Nun, die Treffer die ich von Yahoo oder Bing be­komme ma­chen we­niger als 1% aus so dass mir das wirk­lich ziemlich egal ist. Google scheint sich meiner Mei­nung anzu­schliessen :-)

Es mag sein, dass dies ein selbst­verstär­kender Vor­gang ist. Viel­leicht habe ich nur des­halb so­we­nig Yahoo-Treffer weil ich mehrere h1-Tags pro Seite ha­be. Aller­dings würde ich es nicht ris­kieren, 10% mehr Yahoo-Treffer zu be­kom­men ohne sicher zu sein, damit nicht 10% Google-Treffer ein­zubüßen.

Nach meiner Er­fah­rung gibt es nur eine Such­maschine auf die ich mei­ne Site op­ti­mie­ren muss. Den Na­men ken­nen Sie. Alles An­dere ist ab­solut bedeu­tungs­los.

Web- und TTF-Font LCD 5x7

Für meine Eload-Seite war ein Zeichen­satz wün­schens­wert, der dem eines 5x7 Dis­plays mit einem HD44780 ent­spricht.

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ

Ich habe ihn kurzer­hand mit FontForge selbst erstellt und stelle ihn hier zum Download als TTF und als WOFF-Font zur Ver­fügung. Frei für jeg­liche Ver­wen­dung außer zum Ver­kauf. Pimpen Sie Ihre ge­druckte Do­kumen­tation oder Ihre Web­site, privat oder gewerb­lich, 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 pixel­genaue Wieder­gabe des HD44780 zu er­reichen. Aller­dings sind die Zeichen ober­halb 127 nicht im­plemen­tiert. Dafür habe ich einige Zei­chen einge­fügt, die ich als Soft-Characters in meinen Pro­jekten ver­wende:

ZeichenPositionHTML
Antenne161 (0xa1)¡
µ181 (oxb5)µ
Ω937 (0x3a9)Ω

Die eingestellte Größe kann erheblichen Einfluss auf die visuelle Darstellungs­qualitä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-Erlebnis zu erreichen.