11488 sujets

JavaScript, DOM et API Web HTML5

Hello, j'ai cette page http://tinyurl.com/2bzuv7 qui propose des photos à télécharger.
Quand on clique sur une miniature, la photo s'agrandit.
Et là, stuuupeur :

pas moyen de faire un "enregistrer sous". Pourtant, si je copie l'adresse de l'image du popup et que je l'ouvre en pleine fenêtre, c'est possible.

Je ne comprend pas du tout à quoi ce problème est dû... Apparemment, sous IE ça fonctionne correctement.

Need help Smiley cligne !

Benoît
Ce n'est pas une pop up mais un script genre lightbox et cela empeche l'enregistrement de l'mage sous FF tout simplement parce qu'un élément HTML vient se placer au dessus de l'image... Ie pour sa part considère quand meme qu'il y a une image sous la souris, ce qui n'est pas tout a fait vrai.

Maintenant si tu fait un clique droit sur la miniature et que tu fais Enregistrer la cible sous... ca fonctionne car la miniature est un lien qui pointe vers l'image que le script type lightbox court circuite au moment du clique.
Une solution simple pour récupérer une telle image sous firefox est d'ouvrir la lightbox qui contient l'image, puis d'aller dans le menu Outils...Information sur la page, ensuite l'image est accessible depuis l'onglet média de cette fenêtre.
hello, merci pour vos réponses.
personnellement, aps de soucis j'arrive à enregistrer la grande image...
Le problème c'est que c'est moi le webmaster du site et qu'il faut que les gens puissent (car ici c'est un accès presse) enregistrer les images aussi facilement qu'ils le font d'habitude...

Bizarrement, dans d'autres parties du site ce problème ne se pose pas, d'où ma question...
Désolé j'avais pas vu le problème sous cet angle Smiley sweatdrop . Dans ce cas, pourquoi ne pas tout simplement ajouter un lien direct vers l'image ? En ajoutant une icône en forme de petite loupe par exemple. J'ai aussi trouvé ce code sur le site du zéro qui permet de lancer l'enregistrement d'une image en changeant le content-type du fichier :


<?php

$fichier = 'truc/monfichier.txt'; //On met le fichier à télécharger
header('Content-disposition: attachment; filename="' . basename($fichier) . '"');
header('Content-type: application/octetstream');
header('Pragma: no-cache');
header('Expires: 0');
readfile($fichier);

?>


Il suffit de créer un lien vers ce fichier php et pourquoi pas de passer l'url de l'image en argument (si on ne veut pas créer des dizaines de fichiers inutiles).
J'ai trouvé la cause :

ce n'est pas un problème de javascript mais bien de CSS :
le popup s'ouvre avec l'image.
Sur les côtés de l'image, au survol, s'affichent des liens précédemment masqués(ID#lbPrev et ID#lbNext) pour passer à la photo suivante ou précédente.

C'est lorsqu'on essaie d'enregistrer l'image et que l'on est situé "au dessus" d'un de ces 2 liens que ça ne fonctionne pas :

logique le click droit ne s'applique pas à l'image mais au lien.

Il faut maintenant que je trouve une solution pour restreindre la taille des deux liens à celle de l'image qu'ils contiennent, mais en conservant l'affichage de ces liens lors du survol des parties gauches et droites de l'image...
La suite ici