Wir bloggen zu vielen Themen rund um Typo3 und Java/J2EE

Responsive Images

Avatar of Joerg-Alexander StoehrJoerg-Alexander Stoehr - 27. Mai 2016 - Typo3 at xanders

Große Bilder können zwar verkleinert dargestellt werden, laden aber unnötige Datenmengen. Sven Wolfermann zeigt in seinem Beitrag unter http://maddesigns.de/responsive-images/wmka.html verschiedene Lösungsmöglichkeiten auf

Wir haben uns für Darstellung der Bilder auf der Startseite von xanders.de für die <noscript>-Lösung mit HTML5 data-Attributen entschieden. Assets die im <noscript>-Tag eingebunden sind, werden nicht vom Browser in den DOM eingefügt (und geladen), wenn JavaScript aktiviert ist. Ressourcen werden also nicht doppelt geladen. Erst beim Laden der Seite erfolgt das Rendering des entsprechenden Bildes.

HTML

<noscript data-large="fileadmin/templates/img/site/mission-large.jpg"
   data-small="fileadmin/templates/img/site/mission-small.jpg">
   <img src="fileadmin/templates/img/site/mission-small.jpg" />
</noscript>  

JQuery

$(document).ready(function() {
   // Mobile Images
    $('noscript[data-large][data-small]').each(function() {
        var $this = $(this);
        var src = window.innerWidth >= 652 ?
                $this.data('large') :
                $this.data('small');
        $('<img src="' + src + '" alt="" />')
                .insertAfter($this);
    });
}
$(window).resize(function() {
    // Mobile Images
    $('noscript[data-large][data-small]').each(function() {
        var $this = $(this);
        $this.next('img').remove();
        var src = window.innerWidth >= 652 ?
                $this.data('large') :
                $this.data('small');
        $('<img src="' + src + '" alt="" />')
                .insertAfter($this);
    });
});

Archiv

2016 (5)

Mai (4) Januar (1)

2015 (2)

November (1) Mai (1)

2014 (1)

April (1)

2012 (3)

Mai (3)