probleme parametre window.open

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : probleme parametre window.open

par pierrot » 10 avr. 2007, 11:37

bonjour à tous après ce grand week-end!!!
Ryle, j'ai essayé de mettre javascript:window.open dans ma ligne de code, mais ca ne changer rien...Remarque, c ptet moi qui l'ai pas placé comme il faut :wink:
Voici ma ligne:
<?php echo '<a href="./img/grandes/'.$nomgrandeplante.'" 

target="_blank" onclick="javascript:window.open

('."this.href, 'photo', 'height='+h+',width='+w+',top=0,left=0,location=yes'

".'); return false;\">'.'plante plein écran'.'</a>';?>
Je saute des lignes pour eviter d'avoir un probleme d'affichage sur mon post
Une autre idée...? sinon, juste pour savoir, c quoi la difference entre ouvrir un popup et une fenetre?
Merci

par Ryle » 06 avr. 2007, 16:09

euh... j'ai un doute tout d'un coup.. je me demande s'il t'ouvre bien une popup et pas une autre fenêtre.... essaye ceci :

Code : Tout sélectionner

echo '<a href="javascript:window.open('. "this.href,'photo', 'height='+h+',width='+w+',top=0,left=0,toolbar=no,menubar=no,location=yes,resizable=no,scrollbars=no,status=no'". '); return false;\">'. 'plante plein écran'.'</a>';

par pierrot » 06 avr. 2007, 15:22

merci pour le _blank, je savais pas.
Sinon, tes 2 solutions ne marchent pas chez moi, il y a toujours les barres d'affichées...

par Ryle » 06 avr. 2007, 13:57

Pour le target blank il n'est pas utile puisque c'est une popup que tu ouvres et pas une nouvelle fenêtre.

Quoi qu'il en soit, il faut mettre un underscode juste avant : "_blank", "_self" ou "_top".
- "_blank" : ouvre une nouvelle fenêtre à chaque clique
- "_self" : ouvre dans la fenêtre en cours (par défaut)
- "_top" : ouvre au niveau le plus haut de la frame
- sans l'underscore ou avec un autre nom, cela ouvre une nouvelle fenêtre au premier clique, donne le nom spécifié à cette fenêtre, et ouvrira chaque nouveau clique dans la fenêtre qui a été ouverte (au lieu d'en ouvrir une nouvelle à chaque fois)

Quant à ton autre soucis, tu peux essayer de virer les espaces entre les attributs de ta popup (de mémoire ça influe) voire même essayer de les virer, car je crois que le comportement par défaut est de ne pas les mettre :

Code : Tout sélectionner

"this.href, 'photo', 'height='+h+',width='+w+',top=0,left=0,toolbar=no,menubar=no,location=yes,resizable=no,scrollbars=no,status=no'" ou "this.href, 'photo', 'height='+h+',width='+w+',top=0,left=0,location=yes'"
A tester :)

par pierrot » 06 avr. 2007, 13:35

je viens de me rendre compte que les parametres de la fenetre n'etaient pas pris en compte, c'est à dire les menubar, toolbar,...sont bien présentes alors qu'elles sont "=no"... Bref, j'ai encore besoin d'un ptit coup de pouce
je remets le code du a href :
echo '<a href="./photosplantes/'.$nomgrandeplante.'" target="blank" onclick="window.open('.
"this.href,'photo', 'height='+h+', width='+w+',
top=0, left=0, toolbar=no, menubar=no, location=yes, resizable=no, scrollbars=no, status=no'".
'); return false;\">'.
'plante plein écran'.'</a>'; 
Merci

par pierrot » 06 avr. 2007, 08:55

j'ai rajouté un target="blank" avant le onclick, cela marche mais est-ce bien ce qu'il fallait faire?
merci en tout cas pour toutes vos aides, c vraiment agréable de voir des personnes qui font part de leurs connaissances aussi rapidement et gratuitement. Longue vie au forum!!! :wink:
Bonne journée

par pierrot » 06 avr. 2007, 08:50

oui merci c résolu, j'avais juste une ligne qui trainait apres mon </html> que j'avais placé là pour un copier-coller :wink:

Par contre, je ne sais pas pourquoi, mais cette syntaxe là affiche la nouvelle fenetre dans la précédente et du coup on est obligé de faire précédent pour revenir à la page mère. Moi j'aurai voulu que ca l'ouvre dans une fenetre indépendante, histoire de pouvoir travailler sur la page mère avec la fenetre ouverte a coté...

par mere-teresa » 05 avr. 2007, 15:38

Et si on utilisait les simples quotes pour les chaînes ce qui évite de devoir échapper des caractères pour le HTML, et une double quote pour la chaîne qui contient les instructions Javascript, pour pouvoir mettre des simples quotes ?
echo '<a href="./photosplantes/'.$nomgrandeplante.'" onclick="window.open('.
"this.href,'photo', 'height='+h+', width='+w+', top=0, left=0, toolbar=no, menubar=no, location=no, resizable=no, scrollbars=no, status=no'".
'); return false;\">'.
'plante plein écran'.
'</a>'; 


Accesssoireement, si tu as quelque chose de bizarre: fais clic-droit > Afficher la source

par pierrot » 05 avr. 2007, 15:03

merci à vous 2, ca semble marcher, c'est-a-dire le lien marche, ca ouvre bien en plein ecran. Mais il reste un ptit probleme de quote (j'ai jamais réussi à comprendre vraiment comment ca marche ces trucs là !!!)
du coup, sur la 1ere page, ca m'affiche:
plante plein écran onclick="window.open(this.href,'photo', 'height= '+h+', width= '+w+', top=0, left=0, toolbar=no, menubar=no, location=no, resizable=no, scrollbars=no, status=no'); return false;"
voilà le code comme je l'ai modifié:
echo "<a href='./photosplantes/".$nomgrandeplante."' onclick=\"window.open(this.href,'photo', 'height='+h+', width='+w+', top=0, left=0, toolbar=no, menubar=no, location=no, resizable=no, scrollbars=no, status=no'); return false;\">plante plein écran</a>"; 
Voilà, je pense qu'il doit juste rester ce probleme de quote et ca devrait fonctionner comme dans mes plus beaux reves !!!

par Ryle » 05 avr. 2007, 14:54

Je plussois la remarque de guilt92 !

C'est un miracle (ou plutot un bug) que cette syntaxe ait pu fonctionner sous firefox.. un attribut html ne peut pas contenir de balises html, et je ne comprend pas comment firefox a bien pu interpréter ces balises alors qu'il ne s'agit que d'une chaine de caractère qu'il n'a aucune raison d'évaluer...

par guilt92 » 05 avr. 2007, 14:46

Bonjour,

ta syntaxe est mauvaise : dans le onclick = tu es déjà en javascript (je pense) donc tu n'as pas besoin des balises <script> et du document.write.

je conseillerai plutot une syntaxe du type
onclick="window.open(this.href,'photo', 'height= '+h+', width= '+w+', top=0, left=0, toolbar=no, menubar=no, location=no, resizable=no, scrollbars=no, status=no'); return false;"
qui semble fonctionner mieux...

par pierrot » 05 avr. 2007, 14:31

la fenetre s'ouvre, mais pas avec la bonne resolution. Normalement, je recupere la resolution de l'ecran de l'utilisateur avec le script javascript pour pouvoir ouvrir la fenetre avec les bonnes valeurs. Ici, la fenetre ne prend pas tout l'ecran, alors que si je mets directement les valeurs numériques (pour moi 1024 et 768), là la fenetre s'ouvre bien en plein ecran chez moi.

par mere-teresa » 05 avr. 2007, 14:23

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<title>resolution</title>
</head>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">

<script type="text/javascript">
var w = screen.width;
var h = screen.height;
</script>

<script>document.write(w);</script><br/><script>document.write(h);</script><br/><a href='./photosplantes/plante.jpg' onclick="window.open(this.href,'photo', 'height=<script>document.write(h);</script>, width=<script>document.write(w);</script>, top=0, left=0, toolbar=no, menubar=no, location=no, resizable=no, scrollbars=no, status=no'); return false;">plante plein écran</a>
</body>
</html>
Avec ce code HTML la fenêtre s'ouvre. Cependant, je te signale que les attributs en HTML prennent des doubles quotes " et pas de simples apostrophes '.

par pierrot » 05 avr. 2007, 14:20

alors, le code généré de la page où figure le lien :
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr"> 
<head> 
<title>resolution</title> 
</head> 
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%"> 

<script type="text/javascript"> 
var w = screen.width;  
var h = screen.height; 
</script> 

<script>document.write(w);</script><br/><script>document.write(h);</script><br/><a href='./photosplantes/plante.jpg' onclick="window.open(this.href,'photo', 'height=<script>document.write(h);</script>, width=<script>document.write(w);</script>, top=0, left=0, toolbar=no, menubar=no, location=no, resizable=no, scrollbars=no, status=no'); return false;">plante plein écran</a> 
</body> 
</html>
et le code source de la fenêtre qui s'ouvre, c'est une série de caractères bizarres du style :
GIF87a€àw!þSoftware: Microsoft Office,€à‡ÿÿÿ1Î1
je suppose que ca doit être la transcription de l'image affichée

par mere-teresa » 05 avr. 2007, 14:10

Peux tu nous mettre le code HTML généré (aller sur le navigateur, afficher la source et la copier-coller ici).