url du SWF (et non pas de l'HTML)

url du SWF (et non pas de l'HTML) - Flash/ActionScript - Programmation

Marsh Posté le 03-12-2009 à 15:36:25    

Bonjour à tous.
 
J'ai un système d'embed à la Youtube : n'importe qui peut prendre le code fourni sur mon site et placer un player vidéo sur son site.
Mon player affiche des vidéos et des images.
Les vidéos, les images et le SWF restent hébergées sur mon site.
 
Quand le SWF charge une vidéo FLV, le dossier de départ utilisé par flash est celui du SWF.
Quand le SWF utilise la méthode loadClip pour charger une image bitmap, le dossier de départ est celui de l'HTML contenant le SWF.
 
Et c'est bien là le problème :
Le player va bien chercher les FLV sur mon site (car le SWF est sur mon site), mais il va chercher les images sur le domaine de la personne qui a "embeddé" mon player (car le HTML est sur son site).
 
Je pourrais définir l'URL complète des images en absolu, mais des impératifs font que ce serait beaucoup mieux si le Flash pouvait aller charger les images tout seul au bon endroit, soit non pas depuis l'adresse de l'HTML (accessible en faisant ExternalInterface.call("window.location.href.toString" )), mais depuis l'adresse du SWF (accessible je sais pas comment!).
 
Merci d'avance pour vos réponses.

Reply

Marsh Posté le 03-12-2009 à 15:36:25   

Reply

Marsh Posté le 04-12-2009 à 07:58:52    

Je vais expliquer mon problème autrement :
 
Le HTML est placé sur le SITE 1. (ex:"http://www.SITE1.com/blog/lapage.html" )
Il appelle un SWF hébergé sur le SITE 2. ("http://www.SITE2.com/flash/player.swf" )
 
On demande au SWF d'appeler différents fichiers :
Video_1.flv
Video_2.flv
Image_1.jpg
Image_2.jpg
Sans préciser plus le chemin...
 
Les FLV et les JPG sont stockés sur le SITE 2.
("http://www.SITE2.com/flash/Video_1.flv", "http://www.SITE2.com/flash/Image_1.jpg", etc.)
 
Les FLV sont appelés depuis un FLVPlayback par la propriété ContentPath.
Les JPG sont chargés par la méthode MovieClipLoader.loadClip.
 
Résultat :
Les FLV vont bien être appelé sur le SITE 2, ("http://www.SITE2.com/flash/Video_1.flv" )
mais les JPG vont être appelé sur le SITE 1 ! (>> "http://www.SITE1.com/blog/Image_1.jpg" )
 
ContentPath se base sur le chemin courant du SWF,
mais MovieClipLoader.loadClip a l'air de se baser sur le chemin du HTML où le SWF est embed...
 
Or je souhaiterais que MovieClipLoader.loadClip appelle aussi mes JPG sur le SITE 2.
 
Je peux très bien définir le chemin complet pour les images dans mon FLA (ex:"http://www.SITE2.com/flash/Image_1.jpg" ), et là ça marche, mais l'idéal serait de ne pas avoir à le faire.

Reply

Marsh Posté le 04-12-2009 à 13:12:19    

Qu'est ce qui te gêne au fait d'utiliser des url absolue ?

 

Tu peut toujours concaténer dynamiquement 2 chaines au moment de charger tes images...

 

[URL absolue du dossier de l'SWF]+[url relative de l'image]

 

En AS3, tu récupères cette adresse du SWF via la propriété loaderURL d'un loaderInfo (celui du stage ?), t'as plus qu'à tronquer le nom du fichier SWF et son extention (à partir de l'emplacement du dernier "/" ) pour n'avoir que l'url du directory...

 

Je ne répond pas à ta question mais c'est une piste...


Message édité par abais le 04-12-2009 à 13:14:40

---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 10-12-2009 à 00:22:29    

Citation :

Qu'est ce qui te gêne au fait d'utiliser des url absolue ?


Je ne connais pas l'adresse du serveur définitif où seront stockés les images, et je dois filer mon code à quelqu'un d'autre; L'objectif étant que cette personne ait le moins de modifs à apporter sur mon FLA une fois les bonnes URL connues.
 
Mais qu'importe, on m'a filé la soluce :

Code :
  1. _root._url


 :)

Reply

Marsh Posté le 10-12-2009 à 10:55:30    

Okay :)
Et donc celui là, c'est celui qui te retourne l'url absolue... du SWF ou de l'embed ?


---------------
Le membre ci-contre n'est pas responsable du message ci-dessus.
Reply

Marsh Posté le 17-01-2010 à 21:32:54    

Mais qu'importe, on m'a filé la soluce : _root._url

 

Et donc celui là, c'est celui qui te retourne l'url absolue... du SWF ou de l'embed ?

 

Pour moi, en as 2.0, "this._url" me donne le chemin d'appel du swf qui se trouve dans mon fichier html (j'ai utilisé swfobject).

 


Mais si quelqu'un sait comment connaitre l'url du fichier html ..

 

Quand un internaute clique sur un bouton d'une page html située sur un site, disons : http://S.fr,

 

ça appelle un swf (qui se trouve sur une page, disons : http://W.com)

 

et j'aimerais que ce player (que je réalise sous flash en actionscript 2.0) puisse récupérer l'URL du fichier html qui l'a lancé (http://S.fr/machin/truc.html) pour connaître l'origine de l'appel du swf.

 

Meri de votre aide

 

:bounce:

 


PS En fait je suis dans le flou en ce qui concerne les urls des fichiers appelés en AS 2.0 dans un code actionscript dans un swf flash.

 

Si j'essaie de lire un fichier avec LoadVars(); ou une image avec loadMovie ou un flv avec .contentePath ..  si je mets une chemin relatif dans le nom du fichier (./ ou ../../ etc ...), avec la configuration décrite ci-dessus, je n'ai pas trouvé la doc précise qui m'indique quelle est la base sur laquelle les chemins relatifs s'appuient.

 

L'Url du swf ? l'Url du html qui l'a appelé ? ou, l'Url de la machnie de l'internaute ?

 

Où pourrais-je trouver ces infos précisément ?

 

Merci .........

 


Message édité par barockeuse le 17-01-2010 à 22:02:32
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed