2010-05-05 12 views
1

J'ai besoin d'aide ... une urgence !!! J'ai tellement essayé de le comprendre .. mais je ne pouvais pas .. donc j'apprécie tellement votre aide ..Chargement externe Swf - violation du bac à sable

Je développe une application Air utilisant Flash ... l'application charge dynamiquement un fichier SWF externe par un xml ... le fichier SWF a un MovieClip qui a un écouteur (ON clic)

fonction

mouseDownHandler (event: MouseEvent): void { navigateToURL (nouveau URLRequest (cLICKURL));

}

tout fonctionne bien jusqu'à ce que je clique sur ce MovieClip ... il affiche le message ci-dessous

SecurityError: Erreur # 2121: Violation du sandbox de sécurité: navigateToURL: http://www.mydomain.com/maskot/avatar.swf ne peut pas accéder YAHOO.COM pour Exemple. Cela peut être contourné en appelant Security.allowDomain.

toute aide !!! parce que j'ai vraiment une date limite!

Merci beaucoup!

Répondre

0
This may be worked around by calling Security.allowDomain. 

lire l'erreur.

+0

comment puis-je ajouter! il peut appeler n'importe quelle URL dans le monde ... s'il vous plaît aviser –

1

En fait, Security.allowDomain ne fonctionnera pas puisque nous parlons d'AIR.
autour de la recherche sur ce lien fournit une réponse possible: http://code.google.com/p/maashaack/wiki/ApplicationDomain

var context:LoaderContext = new LoaderContext(false, AD); 
context.allowLoadBytesCodeExecution = true; 
loader.loadBytes(urlloader.data, context); 
1

Securit.allowDomain est ici hors de propos parce que c'est seulement pour indiquer où d'autres applications/fichiers SWF peuvent être situés pour accéder à votre application à partir. Ce que vous essayez de faire est une violation de sécurité et il n'y a pas de moyen direct de contourner le problème. Mais vous pouvez essayer une ou deux choses:

  1. idée de vazor
  2. écrire du code dans votre application principale qui ajoute un écouteur d'événement à votre bouton une fois que le swf est chargé et ensuite appeler navigateToURL de votre gestionnaire qui existe dans le application principale J'ai essayé cette méthode et cela fonctionne. Si vous avez besoin de vous pouvez également charger l'URL réelle à partir du swf externe.

Cette réponse pourrait ne pas être utile à moins que votre date limite était 4 ans et + dans le futur ...

Questions connexes