XML vers FLASH vers HTML+Javascript

djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008 - 29 mai 2007 à 13:52
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008 - 31 mai 2007 à 14:30
Bonjour
Je vous expose vite mon cas:
J ai un fichier swf  qui contient entre autre une variable qui contient le chemin d un jpeg via un xml
Serait il possible de recupérer ce lien pour que flash ouvre un pop up html dimmensionner au format de cette image?
merci d avance

3 réponses

WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
30 mai 2007 à 15:57
 
Salut.

Il existe plusieurs méthodes pour faire ce que tu demandes, et pour que je puisse t'indiquer la bonne, il faudrait que tu précises ce que tu veux comme projet final.

- Tu peux soit récupérer la taille de l'image par PHP (librairie GD), la récupérer dans un flash, puis appeler une fonction javascript open avec les paramètres spécifiés par php.

- Ou tu peux ouvrir une pop-up avec comme url tapopup.php?url= url_de_ton_image.jpg Puis mettre dans cette page une insertion dynamique de l'image via php qui récupère l'adresse de l'image par GET , puis insérer un code javascript qui permet à la fenêtre de s'adapter à son contenu :http://www.journaldunet.com/developpeur/tutoriel/dht/030217jscript_popupresize.shtml

- Ou alors faire la page ouverte entière en Javascript et tu récupères l'adresse de l'image grâce à window.location.search.

Ce qui pourrait donner en gros dans le Flash (la variable url contenant l'url de l'image précédemment acquis par xml) :

getURL("javascript:ouvrir('"+url+"');");

puis dans ta page html contenant le flash :

<script language ="javascript" type= "text/javascript">
function ouvrir (url) {
   var urlImage = "url= "+url;
   urlImage = escape(urlImage);
   window.open("apercuimage.htm?"+urlImage,"image");
}
</script>

Puis dans la page ici nommée apercuimage.htm :

<html>
<head>
<title>Apercu d'une image</title>
<script language ="javascript" type= "text/javascript>
</head>
<script type="text/javascript">
function adapt () {
// On détect le navigateur pour la fct de resize
IE5 =NN4= NN6= false ;if (document.all)
IE5 =true;
else if (document.getElementById)
NN6= true;
else if (document.layers)
NN4 =true;
// on resize avec self.resizeTo, méthode de IE, avec la hauteur et la largeur de l'imageif (IE5) self.resizeTo(document.images[0].width,
document.images[0].height);
// si c'est Netscape, on resize grêce à la fonction prévueelse if (NN6) self.sizeToContent();
// si c'est encore un autre navigateur, on utilise un méthode alternativeelsewindow.resizeTo(document.images[0].width,
document.images[0].height);
}

</script>
<!--
// on récupère les variables passées par l'url
var url = window.location.search;// on assigne à url la valeur qui est apres le premier ?
url = url.substring(1) ;
// on crée l'image et on lui assigne l'url récupéré
var nimage =new Image(104,102)nimage.src=url;
// puis on insère cette image dans le document.
document.write('+nimage.src+'" border="0" alt="Necessaire pour le W3C">'
);// puis on lance le resize de la page
adapt();
//-->
</script>
</html>
Voilà, ben normalement, ça devrait pas marcher impecc', j'ai fait ça devant un ordi où j'ai aucune référence, mais ça te donne une idée sur le chemin à suivre.
Si tu as des précisions, hésite pas. Et s'il y a un problème dans le code javascript, reposte ici où envoie moi un mp ou poste sur javascriptfr...
@+ et bonne continuation

WhiteMagus, Flash-Nouvelle.com
0
WhiteMagus Messages postés 764 Date d'inscription lundi 21 juin 2004 Statut Membre Dernière intervention 5 février 2010
30 mai 2007 à 16:02
LE BUG ! (je suis en train de développer aussi un wysiwyg, je sais ce que c'est :D) Je reposte :

Salut.

Il existe plusieurs méthodes pour faire ce que tu demandes, et pour que je puisse t'indiquer la bonne, il faudrait que tu précises ce que tu veux comme projet final.

- Tu peux soit récupérer la taille de l'image par PHP (librairie GD), la récupérer dans un flash, puis appeler une fonction javascript open avec les paramètres spécifiés par php.

- Ou tu peux ouvrir une pop-up avec comme url tapopup.php?url= url_de_ton_image.jpg Puis mettre dans cette page une insertion dynamique de l'image via php qui récupère l'adresse de l'image par GET , puis insérer un code javascript qui permet à la fenêtre de s'adapter à son contenu :http://www.journaldunet.com/developpeur/tutoriel/dht/030217jscript_popupresize.shtml

- Ou alors faire la page ouverte entière en Javascript et tu récupères l'adresse de l'image grâce à window.location.search.

Ce qui pourrait donner en gros dans le Flash (la variable url contenant l'url de l'image précédemment acquis par xml) :





getURL("javascript:ouvrir('"+url+"');");

puis dans ta page html contenant le flash :

<script language ="javascript" type= "text/javascript">
function ouvrir (url) {
   var urlImage = "url= "+url;
   urlImage = escape(urlImage);
   window.open("apercuimage.htm?"+urlImage,"image");
}
</script>

Puis dans la page ici nommée apercuimage.htm :







<html>






<head>






<title>Apercu d'une image</title>







<script language ="javascript" type= "text/javascript>


















<script type="text/javascript">




function adapt () {
// On détect le navigateur pour la fct de resize
IE5 =NN4= NN6= false ;if (document.all)
IE5 =true;
else if (document.getElementById)
NN6= true;
else if (document.layers)
NN4 =true;
// on resize avec self.resizeTo, méthode de IE, avec la hauteur et la largeur de l'image
if (IE5) self.resizeTo(document.images[0].width, document.images[0].height);
// si c'est Netscape, on resize grêce à la fonction prévue
       else if (NN6) self.sizeToContent();

// si c'est encore un autre navigateur, on utilise un méthode alternative
       elsewindow.resizeTo(document.images[0].width, document.images[0].height);
}
</script>
</head>

<script language= "javascript" type="text/javscript">

// on récupère les variables passées par l'url

var url = window.location.search;
// on assigne à url la valeur qui est apres le premier ?

url = url.substring(1) ;

// on crée l'image et on lui assigne l'url récupéré

var nimage =new Image(104,102)
nimage.src=url;

// puis on insère cette image dans le document.

document.write('+nimage.src+'" border="0" alt="Necessaire pour le W3C">'
);
// puis on lance le resize de la page

adapt();

</script>

</html>

Voilà, ben normalement, ça devrait pas marcher impecc', j'ai fait ça devant un ordi où j'ai aucune référence, mais ça te donne une idée sur le chemin à suivre.

Si tu as des précisions, hésite pas.
Et s'il y a un problème dans le code javascript, reposte ici où envoie moi un mp ou poste sur javascriptfr...

@+ et bonne continuation
0
djel57 Messages postés 38 Date d'inscription jeudi 12 janvier 2006 Statut Membre Dernière intervention 17 avril 2008
31 mai 2007 à 14:30
merci pour ta réponse, j essai ca demain matin et je te tien au courant
++
0