Page 1 sur 2
Image en pop-up et problème récurant
Publié : 05 mars 2005, 17:52
par Nerva
Bonjour.
J'ai deux petites questions jusque là restées sans réponse.
1) J'utilise le JS pour afficher mes images en pop-up ; dans la fraction de code suivante :
Code : Tout sélectionner
ImageOpen = window.open('','_blank','toolbar=0,location=0,menuBar=0,scrollbars=0,resizable=0');
La "location" est définie à 0. Pourtant, dans FF - et pas dans IE - elle apparaît en bas de l'image et je n'ai pas encore trouvé le moyen de la supprimer.
De plus, à cause de ça, le visiteur a une marge inférieure de taille différente selon qu'il utilise FF ou IE ; pas très esthétique, tout ça...
Comment faire ?
Je précise que jusqu'à la version 0.9 de FF il n'y avait pas de problème.
---
2) Dans la ligne suivante :
Code : Tout sélectionner
html = '<html><head><title>Titre</title><meta http-equiv="Pragma" content="no-cache"></head><body background=images/background.jpg leftmargin=0 marginwidth=0 topmargin=20 marginheigth=0 oncontextmenu="return false"><center>'+'<a href="#" onClick="window.close()"><img src="'+ImagePath+'" border=3 name=Image alt="'+texte+'"border="0" onLoad="window.resizeTo(document.Image.width+50,document.Image.height+85); window.moveTo((screen.width-document.Image.width)/2,5)"></a></center></body></html>';
J'ai défini l'épaisseur de la bordure à 3, mais dans FF, par défaut, sa couleur est bleue - violet dans IE.
J'ai bien essayé de rajouter l'entrée
bordercolor=#000000 ou
bordercolor=black mais rien n'y fait.
Un coup de main ?
Merci
Publié : 06 mars 2005, 00:24
par nomade
ça serait pas plutôt
border-color ?
Si tu pouvais donner le lien vers ton site pour que des gens regardent de plus près ça serait pratique

Publié : 06 mars 2005, 14:23
par Nerva
Ben non, je ne peux pas de donner l'URL puisqu'il n'est pas encore en ligne !
border-color, j'avais essayé et ça ne fonctionne pas non plus...
Publié : 06 mars 2005, 14:30
par Nerva
Voici quand même le JS complet des pop-ups :
Dans Head
Code : Tout sélectionner
<script language="JavaScript">
var fois=0
function ImagePopup(ImageSmall,ImageLarge,ImageText)
{
document.write('<a href="javascript:ImageLargeView(\''+ImageLarge+'\',\''+ImageText+'\')"><img src="'+ImageSmall+'" hspace=0 vspace=0 border=0 alt="Affichez la photo"></a>');
}
function ImageLargeView(ImagePath,texte)
{
newImage = new Image;
newImage.src = ImagePath;
html = '<html><head><title>Site</title><meta http-equiv="Pragma" content="no-cache"></head><body background=images/background.jpg leftmargin=0 marginwidth=0 topmargin=20 marginheigth=0 oncontextmenu="return false"><center>'+'<a href="#" onClick="window.close()"><img src="'+ImagePath+'" border=3 name=Image alt="'+texte+'"border="0" onLoad="window.resizeTo(document.Image.width+50,document.Image.height+85); window.moveTo((screen.width-document.Image.width)/2,5)"></a></center></body></html>';
if (fois == 1 ) ImageOpen.close();
ImageOpen = window.open('','_blank','toolbar=0,location=0,menuBar=0,scrollbars=0,resizable=0');
ImageOpen.document.write(html);
fois=1;
}
</script>
Dans Body
Une rangée d'images...
Code : Tout sélectionner
<tr>
<td width="45"> </td>
<td width="196"><div align="center"><script language=JavaScript>ImagePopup("images/image1_sm.jpg","images/images/image1_la.jpg"","Fermez la photo");</script></div></td>
<td width="198"><div align="center"><script language=JavaScript>ImagePopup("images/image2_sm.jpg","images/images/image2_la.jpg"","Fermez la photo");</script></div></td>
<td width="196"><div align="center"><script language=JavaScript>ImagePopup("images/image3_sm.jpg","images/images/image3_la.jpg"","Fermez la photo");</script></div></td>
<td width="45"> </td>
</tr>
Publié : 06 mars 2005, 14:43
par Nucleos
Pour faire court, je ne comprends pas ton problème. Tu nous fais une capture d'écran ?
Publié : 06 mars 2005, 15:05
par Nerva
Pop-up dans Firefox :
La barre d'état apparait alors qu'elle est définie à 0
- Je n'arrive pas à définir des marges égales pour les deux navigateurs.
- Je n'arrive pas à obtenir un liseré noir.
Publié : 06 mars 2005, 15:19
par Nucleos
Huhu ok. Je viens de comprendre les différents antécédents des pronoms ésotériques de ton premier message.
Donc effectivement, Firefox contient une option supprimant la possibilité de masquer la barre d'états, cf Outils > Options > Fonctionnalités web > Avancé... (Javascript) > Masquer la barre d'état.
Quant au liséré autour de la chose, il suffit de rajouter une règle CSS. Quel est l'élément qui est entouré de la bordure bleue-violette ?
Publié : 06 mars 2005, 15:31
par Nerva
Masquer la barre d'état... Merci de cette information !
L'élément qui est entouré de la bordure - en blanc - ce sera la photo ; en vert, l'image du background (tout ça fonctionne, fort heureusement).
Mais pour les styles CSS... Je ne sais pas les utiliser...
Publié : 06 mars 2005, 15:41
par Nucleos
Nerva a écrit :L'élément qui est entouré de la bordure - en blanc - ce sera la photo ; en vert, l'image du background (tout ça fonctionne, fort heureusement).
bon imaginons que l'élément qui devrait être entouré de la bordure sera a (l'élément lien.) Alors à l'interieur de <head> :
Code : Tout sélectionner
<head>
<style type="text/css">
a { border-color: green; }
</style>
</head>
cf
déf cssNerva a écrit :Mais pour les styles CSS... Je ne sais pas les utiliser...
C'est un peu compliqué de vraiment maîtriser tout CSS, mais c'est vraiment beaucoup plus facile de faire des choses qualifiées de "accessible", "standard" et j'en passe. À mon sens ça réduit les problèmes.
Publié : 06 mars 2005, 15:59
par Nerva
En fait, j'ai déjà deux styles CSS type="text/css" que j'ai pioché ça et là ; un pour enlever le soulignement des liens, un autre qui personnalise les couleurs scrollbar (ce dernier est par ailleurs inopérant dans FF, mais passons).
Mais pour le style que tu viens de donner, je suppose qu'il faut intégrer une feuille CSS spécifique !?!
Re: Image en pop-up et problème récurant
Publié : 06 mars 2005, 16:14
par calimo
Nerva a écrit :La "location"
La "location" comme tu dis c'est pas la barre d'adresses ? Donc je ne vois pas pourquoi ça masquerait la barre d'état (statusbar)...
De toutes façons il est possible d'empêcher toutes ces suppressions dans Firefox

(même si malheureusement les préférences sont la plupart cachées

).
Si je puis me permettre, il me semble que tu utilise un peu trop de javascript, pense aux 10% d'internautes qui l'ont désactivé et qui ne verront rien du tout c'est dommage. Pour apprendre à faire une popup "standard" et accessible je te conseille de lire cet article d'OpenWeb :
http://openweb.eu.org/articles/popup/ (outre le fait qu'il est déconseillé d'ouvrir des popups mais passons

)
Publié : 06 mars 2005, 16:16
par Nucleos
Nerva a écrit :un autre qui personnalise les couleurs scrollbar
vi ce n'est pas standard, ça ne marche que sous Internet Explorer.
Nerva a écrit :Mais pour le style que tu viens de donner, je suppose qu'il faut intégrer une feuille CSS spécifique !?!
Non, tu peux simplement le mettre en tête de ta popup. Par contre attention : tous les liens présents dans la page qui contient le <style> seront entourés d'une bordure. Pour changer ça, tu peux par exemple assigner un attribut class="image_importante" au lien :
Code : Tout sélectionner
<a href="..." class="image_importante"><img src="..." alt="..." /></a>
Et du coup tu pourras changer la désignation de la règle CSS que je t'ai donné en :
Code : Tout sélectionner
<head>
<style type="text/css">
a.image_importante { border-color: green; }
</style>
</head>
Tu verras, si tu te penches un peu sur CSS, c'est tout simple en fait.
Publié : 06 mars 2005, 16:23
par Nerva
Calimo
Le "problème" c'est que j'utilise des portions de code que je ne comprends pas !
Depuis plusieurs années j'ai appris - à force de centaines et centaines d'heures ! - à utiliser Access de manière très poussée ; je n'ai ni le temps ni l'envie de faire la même chose pour chaque "langage" quand je coince quelque part...
Pour le JS à outrance, tu as parfaitement raison ; je sais coder en JS l'affichage d'un pop-up de manière beaucoup plus simple. Mais la personne pour qui j'ébauche ce site m'a demandé de faire tout ce que je pouvais pour empêcher dans la mesure du possible le piratage des images et compagnie - anihilation de la sélection du texte, anihilation du menu contextuel, etc...
Mais ça, c'est un autre débat ! N'empêche que les complications se cumulent...
Publié : 06 mars 2005, 16:30
par Nerva
Nucleos
Merci de ton aide ; je vais essayer de placer ça
Code : Tout sélectionner
<a href="..." class="image_importante"><img src="..." alt="..." /></a>
où il faut, car là, je patauge !
Publié : 06 mars 2005, 16:36
par calimo
Nerva a écrit :Mais la personne pour qui j'ébauche ce site m'a demandé de faire tout ce que je pouvais pour empêcher dans la mesure du possible le piratage des images et compagnie - anihilation de la sélection du texte, anihilation du menu contextuel, etc...
Hé ho, piratage, piratage... c'est un terme à la mode, surtout dans l'industrie musicale, mais il ne faudrait pas exagérer non plus
Un pirate c'est un criminel de haute mer, crime puni par la pendaison, ça n'a rien à voir avec une petite infraction aux copyrights quand-même. Voir aussi
cet article
Pour en revenir aux méthodes pour empêcher la copie, il n'y a qu'une seule technique efficace pour ça, et elle est décrite dans
cet article
Donne cet article à lire à celui pour qui tu fais la page, de même que
celui-ci. Il ne se rend probablement pas compte des problèmes que ça cause, 10% des gens privés de visite ce n'est pas rien quand-même
Franchement les sites qui "bloquent" le clic droit, ça me donne qu'une seule envie, celle de copier les images "pour le fun", même si elles partent à la corbeille dans les 5 minutes. Franchement ce n'est pas productif, au contraire, tout au plus chiant pour l'utilisateur.