Pb de pop up

nov -  
 king -
bonjour,
j'ai un probleme pour faire une popup dans laquelle il y aura une animation flash qui serait dimensionée d'une certaine taille.
je comprends pas pourquoi ça ne marche pas
voici le code:
<a href="#" onClick="javascript:window.open('expo.swf', '', 'width=760,height=571,toolbar=no,location=no,directories=no,status=no,menubar=
no,scrollbar=no,resizable=no')">cliquez ici</a>

Lorsque je mets directement le code de onclick à la place de href,la popup fonctionne mais par contre ma page se redirige vers une page blanche avec marqué [object] dedans normal puisque c'est un lien mais moi je voudrais que ma page reste telle quelle avec une pop up qui s'ouvre...
merci d'avance.
A voir également:

11 réponses

Utilisateur anonyme
 
salut essai de rajouter target='_blank'

normalement il va t'ouvrit une nouvelle page
0
nov
 
j'ai déjà essayé,ça m'ouvre une nouvelle fois la meme page,c'est pas ce que je veux ,moi,je voudrais que la page reste la meme et que dans la fenetre qui s'ouvre c'est l'animation flash.En fait,j'ai déjà essayé de mettre a href="expo.swf" target="_blank" ça fonctionne mais ma nouvelle fenetre s'ouvre mais fait la taille de l'ecran donc ça me pixellise les photos que j'ai sur mon animation moi,je voudrais bloquer la taille de la fenetre à 760*571
c'est pour ça que je voulais parametrer la nouvelle fenetre
autre précision ,il me marque "constante chaine non terminée" avec le code que j'ai mis au dessus et je ne vois pas d'ou ça vient
mais merci quand meme vdumontier.
0
Utilisateur anonyme
 
Alors essai de faire un lien comme cela
a href="expo.swf" target="_blank"

mais en mettant :

a href="expo.html" target="_blank"

et dans ta page expo.html tu met un div qui a pour dimmension les dimention de ton swf

et dedans tu appel ton swf -->

<object >
...
</object>

en esperant avoir répondu a ton problème :)
0
king
 
faudrait le script popup complet (avec la partie head)
Pour le reste faudrait appeler un contenu html qui contient le swf, histoire déviter les embrouilles.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nov
 
effectivement je pourrais faire comme ça vdumontier ,si je ne trouve pas l'autre solution mais je prefererai que ce soit une fenetre "flottante".
ben en fait,il n'y a rien dans le head puisque je fais directement ma fonction sur onclick.
je sais qu'il existe des tas de scripts de popup mais il sont tous plus ou moins compliqué.Ce que je voudrais faire ,c'est seulement ouvrir une nouvelle fenetre de la taille du swf sans barres.
0
king
 
Tu peux toujours essayer ça:

entre <head> et </head>
<script language="JavaScript">

function PopupImage(img) {
titre="Popup Image - titre du site";
w=open("",'image','width=200,height=300,toolbar=no,scrollbars=no,resizable=no');
w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");
w.document.write("<SCRIPT language=javascript>function checksize() { if (document.images[0].complete) { window.resizeTo(document.images[0].width+12,document.images[0].height+30); window.focus();} else { setTimeout('check()',250) } }</"+"SCRIPT>");
w.document.write("<BODY onload='checksize()' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0><IMG src='"+img+"' border=0>");
w.document.write("");
w.document.write("</BODY></HTML>");
w.document.close();
}
</script>


dans <body> pour le lien:

<a href="javascript:PopupImage('doc.html')">cliquez ici</a>

Ensuite faudrait créer un doc.html (ou autre appellation) et dans ce doc mettre ton swf (car faut mettre une ligne de code pour les navigateurs quand on appelle du flash. Me demande si ton souci ne vient pas de là).

Ensuite faut régler la taille par défaut, donc la ligne du script:
w=open("",'image','width=200,height=300,toolbar=no,scrollbars=no,resizable=no');
Donc tu bases ça sur la taille donnée au swf.

Ca devrait te donner au final un popup qui se retaille automatiquement sur la taille de ton anime (cependant je n'ai jamais tester avec du flash)
0
king
 
Ou peut-être mieux:

insérer une ligne "w.document.write" pour la ligne code flash (en 4e position) vu que le script recrée une page et ensuite appelé directement le swf dans la ligne:

<a href="javascript:PopupImage('doc.html')">cliquez ici</a>

Bref faut tester :-)
0
nov
 
merci king pour ton code,
ça fait une petite heure que j'essaye de modifier le code à partir de ce que tu as mis mais alors j'ai plusieurs pb qui se pose:
le redimensionnement était fait pour une image (<img>...)alors que là il faut l'appliquer à un swf donc c'est pas très evident,j'ai effectivement rajouté des balises object param etc... dans w.document.write par contre comment dire que les guillemets (") ne soient pas la fermeture de la ligne de code w.document.write peut etre avec un antislash devant (\")?
et l'objet images qui est dans la fonction checksize par quoi le remplacer?
pour l'instant j'ai mis ça:
<script language="JavaScript">
<!--
function Popup() {
titre="test";
w=open("",'','width=760,height=571,toolbar=no,location=no,directories=no,status=no,menubar=
no,scrollbar=no,resizable=no');
w.document.write("<HTML><HEAD><TITLE>"+titre+"</TITLE></HEAD>");
w.document.write("<SCRIPT language=javascript>function checksize() { if (document.images[0].complete) { window.resizeTo(document.images[0].width+12,document.images[0].height+30); window.focus();} else { setTimeout('check()',250) } }</"+"SCRIPT>");
w.document.write("<BODY onload='checksize()' leftMargin=0 topMargin=0 marginwidth=0 marginheight=0>");
w.document.write("<object classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000 codebase=http://fpdownload2.macromedia.com/get/shockwave/cabs/flash/swflash.cab#version=7,0,19,0 width=760 height=571>");
w.document.write("<param name=movie value=expo.swf />");
w.document.write("<param name=quality value=high />");
w.document.write("<embed src=expo.swf quality=high pluginspage=https://get.adobe.com/flashplayer/ type=application/x-shockwave-flash width=760 height=571></embed></object>");
w.document.write("");
w.document.write("</BODY></HTML>");
w.document.close();
}
//-->
</script>

et dans le body:
<a href="javascript:Popup('expomod.html')">cliquez ici</a>

merci à ceux qui pourront m'aider!
mais je me demande si on peut réellement redimensionner une fenetre autour d'un swf,on peut effectivement le faire pour une image mais là je n'en suis pas sur!
0
nov
 
en fait ,je pense qu'il y a plus simple car la fonction checksize s'applique pour une image ,je pense qu'il faudrait seulement ouvrir une nouvelle fenetre d'une taille de 760*571 + quelques pixels pour la barre de titre dans lequel il y aurait le swf.
javascript risque de ne pas savoir quoi redimensionner
enfin bon,je suis preneur pour toute idée
merci
0
nov
 
bon,ça y est ,ça fonctionne!
il suffisait de mettre:
<script type="text/javascript">
<!--
function popup(page) {
w=open(page,'popup','width=760,height=600,toolbar=false,scrollbars=false');
}
//-->
</script>
dans head
et dans body
<a href='javascript:popup("page.html")'>cliquez ici</a>
0
king
 
Ah vi, je n'y ai pas pensé, à l'origine c'est pour une image (oups).
En plus je n'ai pas eu le temps de repasser, sorry :-)

Le principal, c'est que ça fonctionne maintenant ;-)
0