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.