[flash AS2] Utilisation de loadVariable, pb d'url

ccciolll

Membre expert
Club iGen
Bonjour,

J'ai développé un code actionscript (avec beaucoup d'aide de forumistes…) qui va chercher les contenus d'un fichier xml en ligne.

Voici le début de ce code

Bloc de code:
listecodes=new XML();
listecodes.ignoreWhite=true;
listecodes.load("http://extranet.monsite.com/resources/flash/maliste.xml");

listecodes.onLoad=function()

L'ennui est que pour d'obscures raisons de sécurité, flash empêche d'accéder au xml si l'url est légèrement différente.

Exemple, si l'utilisateur se connecte au site via www .monsite .com ou via 83 .145 .NNN .NNN , le swf refuse d'accèder au fichier xml dont j'ai déterminé l'adresse en extranet .monsite .com (comme vous pouvez le voir dans le code copié ci-dessus.

Du coup, moi qui testais le site en me connectant via extranet, je me disais « ça roule » et ensuite on me dit « ça marche pas » et je cherche, je cherche comme un c**… pour finalement comprendre d'où ça vient.
Et effectivement, si je me connecte en www au lieu de extranet, ça marche plus.

Je ne peux pas empêcher les utilisateurs de se connecter avec les différentes url.

Que puis-je faire ?

Est-ce que je peux supprimer cette sécurité par un code dans l'actionscript ?
Ou est-ce que je peux extraire l'url du swf en cours (mais comment faire) pour en copier le début dans ma cible (genre si l'utilisateur est connecté par www. monsite. com, l'url du swf affiché est www. monsite .com/resources/flash/MonSuperSWF .swf et il extrairait ton ce qui est avent le nom du swf que je recollerai après la fonction listecodes.load ?
Ou bien lister les différentes url par lesquelles on peut se connecter et repasser le code autant de fois que d'url différentes ?

---------- Nouveau message ajouté à 12h41 ---------- Le message précédent a été envoyé à 12h33 ----------

Yeeep, je crois que j'ai un début de réponse
avec
Bloc de code:
var MonUrl:Array = this._url
je peux récupérer l'url.

Je vais d'abord aller manger (maintenant que mon estomac est un peu dénoué) et je re-teste ça ensuite.
je crois que je tiens le bon bout…

---------- Nouveau message ajouté à 13h47 ---------- Le message précédent a été envoyé à 12h41 ----------

Oui ! ça marche, voici donc le code que j'utilise

Bloc de code:
var MonUrl:Array = this._url     // extraction de l'url du fichier swf
UrlSeule = MonUrl.split('/flash/')[0]  // on garde le début de l'url
UrlXml = UrlSeule + "/flash/MonXml.xml" ; // on complète pour obtenir l'url du XML 


listecodes.load(UrlXml);

Bon, dans l'exemple donné ci-dessus ça fonctionne parceque la fin de mon url de swf et de xml comporte /flash/ mais ensuite on remplacera par ce qui convient selon son propre site.