Antwort #16 am: 16. September 2015, 23:34:14
Nachteil von der Lösung von noRiddle ist, dass grundsätzlich beide Grafikdateien geladen werden, egal ob der Shopbesucher das zweite Bild ansieht oder nicht. Je nachdem wie groß deine Produktbilder sind, ist das nicht unerheblich und das Laden der Seite dauert doppelt so lange. Dafür funktioniert es aber auch bei Kunden, die JavaScript deaktiviert haben.
Bei der Lösung von kgd wird die Abbildung der zweiten Ansicht wirklich nur für den Fall nachgeladen, wenn der Shopbesucher mit der Maus über das Artikelbild fährt.
Ist jetzt Deine Ansichtssache, was du bevorzugst. Im Fall von kgd's Lösung könntest du per <noscript> einen Hinweis einblenden, falls JavaScript deaktiviert ist, so das der Besucher zumindest mitbekommt, dass er bei aktiviertem JS mehr Funktionen zur Verfügung hat.
Begründeter Einwand, wenn auch "
das Laden der Seite dauert doppelt so lange" nicht nur sehr stark übertrieben sondern schlicht nicht richtig ist.
Hat man mehr als ein Produktbild werden die übrigens ja auch alle geladen.
Hat man also, wie auf der verlinkten Beispiel-Seite ohnehin nur zwei Bilder, ist es unerheblich beide laden zu lassen.
Ein anderes Argument wäre die Mobile-, bzw. Touch-Freundlichkeit. Da ist dann jQuery in der Tat erste Wahl.
Jetzt mal ganz ehrlich, hat von euch einer schon mal versucht den Shop ohne Javascript laufen zu lassen. (Das würde mich echt interessieren.)
Ich denke da würde es mehr Probleme geben als ein unwichtiges nicht wechselndes Bild.
Jeder Shop funktioniert auch völlig ohne Javascript, es sei denn man hat zig JS-Erweiterungen eingebaut die die Funktion beeinträchtigen wenn JS deaktiviert ist.
Ich kenne sogar Entwickler, also Leute die sich auskennen, die im Browser Noscript oder ähnliche Add-Ons aktiviert haben. Seit der
Same-Origin-Policy dürfte das zwar nicht nötig sein wenn man nicht wild auf alles auf dubiosen Seiten klickt, aber...
Man sollte keinen einzigen Kunden verlieren weil der irgendwo nicht weiterkommt.
Merke:
Javascript sollte nur als "progressive experience enhancement" eingesetzt werden, also eine schönere, bessere, user-freundlichere Erfahrung beim Besuch einer Webseite, nicht jedoch als Bedingung für essentielle Funktionen.@macom1337
Ich kann dir leider ohne genaue Kenntnis deiner Umgebung (Link ?) nicht blind weiterhelfen.
Gruß,
noRiddle