Blog

ImageBox v1.3.1

Nach ca. zwei Jahren ist nun endlich wieder ein neues Update für die ImageBox veröffentlicht worden. Es gibt nicht nur Verbesserungen seitens des Quellcodes, nein auch zwei neue Optionen sind nun verfügbar.

autoInit

Die Besonderheit der ImageBox war und ist die schnelle Implementierung. Eine CSS und eine JS Datei, die Bilder vorbereiten und die ImageBox kümmert sich um alles. Jedoch kann es möglich sein, dass Bilder erst im Nachhinein geladen werden und man die ImageBox manuell initialisieren muss und da kommt die Option autoInit ins Spiel. Diese verhindert, wenn diese auf false steht, dass die ImageBox nach dem Laden der Seite initialisiert wird. Hierbei wurde auch gleich das window.onload Problem gelöst, denn diese Einstellung hat dazu geführt, dass ein window.onload Event oder das von der ImageBox überschrieben werden konnte.

htmlCaption

In den meisten Fällen benötigt man kein HTML in der Bildbeschreibung, jedoch ist es nicht einmal möglich einen Teil in kursiv oder fett hervorzuheben. Dank der neuen htmlCaption Option, sofern diese auf true steht, ist es jetzt möglich.

Content Security Policy

Unter der Haube wurden unteranderem die sogenannten inline events mit EventTarget.addEventListener ersetzt. Dies fördert das CSP Sicherheitskonzept und verbessert den Schutz gegen Cross-Site-Scripting (XSS). Den Gedankenanstoß gab es von einem Mitwirkenden in dem ImageBox GitHub Repository.

Galleries array

Beim Initialisieren der ImageBox werden die Galerien in einem Array gespeichert. Allerdings wurde bei einer erneuten Initialisierung nicht darauf geachtet, dass es bereits Galerien in dem Array gibt. Grundsätzlich wird dies keinen dramatischen Einfluss gehabt haben. Jedoch könnte sich der Fall ergeben, wenn z. B. Inhalte mit AJAX geladen werden und somit die Seite nie neugeladen wird, dass das Array sich kontinuierlich sinnlos befüllt und immer größer wird. Dies wurde nun einfach behoben, indem während der Initialisierung geprüft wird, ist etwas in dem Array? Ja, dann leere es. Einfach, kann aber auf lange Sicht die Leistung beeinflussen.

KeyboardEvent.keyCode

Seit etwa sieben Jahren ist der keyCode vom KeyboardEvent als veraltet deklariert worden. Dies ist mir nicht wirklich aufgefallen, da es bis heute noch von allen großen Browsern unterstützt wird. Aber dieser soll nicht so gut kompatibel sein wie key oder auch code. Ich hab mich bei der ImageBox für code entschieden. Der Hintergrund ist, dass code so ziemlich alle Zeichen ausschreibt. Z. B. wird unter key das Symbol < ausgegeben, während bei code der Text Backquote ausgegeben wird. Wer das selbst testen möchte, dem kann ich mein kleines Nebenprojekt The Simple Project - KeyCode empfehlen.

Weitere Informationen bezüglich der neusten Version können in der ImageBox v1.3.1 Veröffentlichung eingesehen werden.