11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour,

Je suis entrain de faire un site principalement portfolio.
Pour l'affichage des images, j'utilise un slider type lightbox.

Mon soucis est que soit quand on clique sur une miniature, soit quand on navigue via les flèches de la lightbox, l'url change, donc quand le visiteur fait "précédent" au lieu de revenir sur la page précédent l'affichage de la galerie qu'il visionnait, il retombe sur le slide précédent.
Sachant que certaines galeries contiennent plus de 30 images, ça devient vite ingérable pour la navigabilité et l'expérience utilisateur en devient horrible.

Je récupère l'url de la page précédente l'arrivée sur la galerie en php, avez-vous une idée de comment l'imposer quand le visiteur clique sur précédent ? Peut-être un événement javascript le permet-il ?

Merci pour votre aide.
Mélissa

EDIT : L'url de la galerie change à chaque article, mais quand on ferme le slide "#RL" s'ajoute à la suite, c'est la seule constante qui serait utilisable.
Peut-être avec if qui testerait l'url current (sans chargement de page si c'est faisable) et si la fin est "#RL" alors ajouter la dernière url mémorisée en php sur la pile de l'historique ?
Modifié par Chouchine (28 Jul 2017 - 18:16)
Je pense qu'il vaut mieux traiter le problème à la source plutôt que d'essayer de rafistoler de la sorte.
Tu peux annuler l'action d'un lien lorsqu'il est cliqué (j'imagine que les url dont tu parles sont des ancres présentes dans les liens de ton slider)
Je te remercie pour le lien Zelena, mais je l'ai déjà testé dans tous les sens cette solution sans succès.

Peut-être lié avec le repérage du #RL, ça fonctionnerai, mais il faut y intégrer la bibliothèque history.js (vu que github) car chrome par exemple n'a pas implanté history.state.

Zelalsan, je n'y avais pas pensé, c'est effectivement peut-être une solution, je vais regarder le plugin de plus près, merci pour l'idée !