import flash.html.HTMLLoader;
import flash.events.Event;
import flash.external.ExternalInterface;
var _htmlLoader: HTMLLoader=new HTMLLoader() ;
_htmlLoader.runtimeApplicationDomain = ApplicationDomain.currentDomain;
_htmlLoader.load(new URLRequest("http://knights-honor.com/index.php"));
_htmlLoader.addEventListener(Event.COMPLETE, onComplete);
function onComplete(ev: Event) {
_htmlLoader.width = stage.width;
_htmlLoader.height = stage.height;
this.addChild(_htmlLoader);
ExternalInterface.call("games()");//to call the games function from javascript wittin htmlloader
}
mais je reçois cette erreur: Erreur: Erreur # 2067: Le ExternalInterface n'est pas disponible dans ce conteneur. ExternalInterface requiert Internet Explorer ActiveX, Firefox, Mozilla 1.7.5 et supérieur, ou d'autres navigateurs prenant en charge NPRuntime.AS3 Air pour Desktop à l'aide ExternalInterface sur htmlLoader
qu'est-ce que je fais mal?
** ExternalInterface ** est de communiquer avec environnement, qui est exactement ** externe ** pour le contenu Flash actuel: une page Web contenant l'animation Flash, une application qui exécute le contenu Flash, etc. ** HTMLLoader ** est un objet ** interne **, pas l'environnement externe. – Organis
il est utilisé dans ce cas aussi comme mentionné dans ce post https://stackoverflow.com/questions/35956597/how-do-i-communicate-between-js-and-as3-in-an-air-android-application commenté par Dodger Thud et référé à http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html mais adobe a bloqué irans ips alors je ne peux pas accéder à la documentation –
Dans Adobe AIR , la classe ExternalInterface peut être utilisée pour communiquer entre JavaScript dans une page HTML chargée dans le contrôle HTMLLoader et ActionScript dans le contenu SWF incorporé dans cette page HTML. –