2009-09-02 11 views
0

J'essaie de déboguer ActionScript dans CS4. Le script, comme vous pouvez le voir ci-dessous, envoie une requête GET à une URL que j'héberge depuis ma machine. Lorsque j'essaie de déboguer le film, je reçois une boîte de message qui indique:Comment déboguer un fichier SWF communique avec localhost

Adobe Flash Player a arrêté une opération potentiellement dangereuse. L'application locale que vous utilisez sur votre ordinateur: « C: \ myapplication.swf » tente de faire communiquer avec cet emplacement Internet activé:

localhost

Pour Laissez cette application communiquer avec Internet cliquez sur Paramètres. Donc je clique sur les paramètres, et sur le Global Security Panel qui s'ouvre dans mon navigateur, je sélectionne Toujours Autoriser, ferme mon film Flash et réessaye. Même erreur

Est-ce que quelqu'un a eu ce problème?

var requestVars:URLVariables = new URLVariables(); 
requestVars.ornTest = "test"; 
var request:URLRequest = new URLRequest(); 
request.url = "http://localhost/apps/game/tree/DesignFlash.aspx"; 
request.method = URLRequestMethod.GET; 
request.data = requestVars; 

var loader:URLLoader = new URLLoader(); 
loader.dataFormat = URLLoaderDataFormat.TEXT; 
loader.addEventListener(Event.COMPLETE, loaderCompleteHandler); 
loader.addEventListener(HTTPStatusEvent.HTTP_STATU S, httpStatusHandler); 
loader.addEventListener(SecurityErrorEvent.SECURIT Y_ERROR, securityErrorHandler); 
loader.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); 

try 
{ 
    loader.load(request); 
} 
catch (error:Error) 
{ 
    trace("Unable to load URL"); 
} 

private function loaderCompleteHandler(event:Event):void 
{ 
    var variables:URLVariables = new URLVariables(event.target.data); 
    if(variables.success) 
    { 
    var ornArray = deserializeString(variables.ornData); 
    for(var i:int=0;i<ornArray.length;i+=3) 
    { 
    addOrnamentProperty(ornArray[i],ornArray[i+1],ornArray[i+2]); 
    } 
     addOrnamentsFromArrayList(); 
    } 
} 
+0

Utilisez-vous Flash CS4 pour exécuter le fichier SWF ou le lecteur Flash? Vous ne devriez pas rencontrer ce problème lorsque vous exécutez le fichier SWF dans Flash CS4 lui-même. – Ammar

Répondre

1

Vous devez ajouter le dossier à la liste des dossiers autorisés.

Suivez cette url:
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04.html

Dans le menu déroulant « Modifier les emplacements ... » choisissez « Ajouter un emplacement ... », puis accédez au répertoire correct (celui avec le fichier SWF dedans) et ajoutez ce répertoire. Si votre fichier HTML se trouve dans un répertoire différent de celui du fichier SWF, je ne pourrai jamais me rappeler lequel ajouter, donc je les ajouterais tous les deux.

L'autre chose que vous pourriez faire est de lancer votre projet via un serveur HTTP fonctionnant sur votre propre ordinateur. Cela peut être un peu plus complexe (par exemple, vous devez exécuter un serveur HTTP, puis publier votre code HTML et SWF dans le répertoire). L'ajout du dossier est l'approche la plus simple et directe, mais si vous utilisez un serveur local, vous n'aurez aucune restriction.

+0

La sortie HTML de Flash ou la page HTML dans laquelle je lance le flash doit-elle être dans ce dossier accepté? Merci –

+0

Voulez-vous tester la section des commentaires, s'il vous plaît ignorer ce commentaire –

+0

Comme je l'ai dit dans la réponse - si le HTML et le fichier SWF sont dans des répertoires différents, je les ajoute tous les deux. –

Questions connexes