ActionScript 3: Comment obtenir le nom d'hôte à partir de l'URL?
Je suis en train de définir un chemin d'accès à un fichier XML, qui diffère lorsque l'exécuter localement ou sur le serveur.
Comment puis-je déterminer si le Flash est en cours d'exécution au niveau local? (Je pense à vérifier si l'URL contient "http://localhost" mais comment voulez-vous obtenir la fenêtre de l'URL?)
Merci d'avance
OriginalL'auteur Aximili | 2009-02-16
Vous devez vous connecter pour publier un commentaire.
mokee est juste que vous avez besoin de spécifier un chemin relatif pour accéder à votre XML lors de l'exécution à l'échelle locale. Vous devez adapter cette structure de dossier quelque part sur le serveur. Cependant, il est souvent nécessaire de fixer différents de la base de chemins en face de ce chemin d'accès relatif à point pour des versions spécifiques de ces dossiers. Par exemple, nous avons souvent de plusieurs environnements différents, à notre agence. dev construit, serveurs de tests, les différents milieux de vie. Vous ne voulez pas avoir à coder en dur ces en plus vous avez besoin d'une certaine façon de déterminer ce qui est réellement utilisé.
La solution à ce problème est souvent de passer dans un basePath comme un FlashVar
Prendre un coup d'oeil à cette solution sur la façon de passer un FlashVar dans votre swf
http://blogs.adobe.com/pdehaan/2006/07/using_flashvars_with_actionscr.html
Configurer un flash var pointant vers un basePath sur votre serveur. Quelque chose comme
Ensuite dans le code actionscript, vous pouvez vérifier pour voir si ce basePath existe. Si elle ne le fait pas, alors vous savez que vous êtes en cours d'exécution localement, si vous utilisez le chemin d'accès relatif vous avez mis en place, qui fonctionne en local. Si il y a un basePath, puis préfixe présent à l'avant de votre chemin relatif et de charger le xml en utilisant cette URL.
Il est très fréquent pour ce faire, et fonctionne vraiment bien.
OriginalL'auteur James Hay
Vous pouvez demander à la fenêtre externe (conteneur) pour cette information par le biais de l'API externe
Si la méthode ci-dessus ne fonctionne pas, vous devez créer une fonction wrapper pour le retour de cette fenêtre.l'emplacement de l'objet à partir de JavaScript. Notez que les propriétés qui sont disponibles sur la victoire de l'Objet est entièrement définie par le navigateur et varie selon les navigateurs. Cela signifie également que le flash player (que vous obtiendrez si vous exécutez le film organisé par le lecteur flash à l'extérieur d'un environnement de navigateur ne saura pas à propos de la fenêtre.emplacement de la propriété, cela fonctionne lorsque vous déployez votre film, mais pas lors du débogage)
Vérifiez ici pour plus d'informations
OriginalL'auteur John Leidegren
Si votre application est une application Flex, vous pouvez récupérer l'URL du fichier SWF principal via la
url
attribut de votre objet application. Ce peut être consulté à partir de n'importe où dans votre contrôleur de l'arbre viaparentApplication.url
, ou, si un objet ne fait pas partie de l'automate d'arbre,Application.application.url
.Brut AS3 projets, vous devez accéder à la
loaderInfo
l'attribut principal de votre sprite, par exemple,_root.loaderInfo.url
va vous donner la même information.Pas de problème, il suffit de lire le deuxième paragraphe s'applique à ce cas.
OriginalL'auteur David Hanak
Définir le chemin d'accès à votre XML absolue relative: '/temp/data.xml'. Comme ça il va rechercher le XML: 'http://yourhost.com/temp/data.xml'.
S'il est réglé sur 'temp/data.xml" il va toujours à la recherche pour elle par rapport à la SWF.
si vous êtes heureux et vous le savez, data.xml.
OriginalL'auteur thgie