2010-11-06 20 views
1

Je peux ouvrir une nouvelle fenêtre en utilisant window.open() dans ExternalInterface.call() mais je veux pouvoir écrire du contenu dans la nouvelle fenêtre. Depuis, je ne peux pas obtenir la référence de la fenêtre de window.open() appel, je ne suis pas capable de faire quoi que ce soit à la fenêtre une fois qu'il est ouvert.Ouvrir la fenêtre du navigateur en utilisant ExternalInterface puis écrire du code HTML

Veuillez noter: Je n'ai aucun contrôle sur le HTML dans lequel mon swf est affiché.

Est-ce que quelqu'un a déjà été dans cette situation? Mise à jour: Après quelques heures d'essais et d'erreurs, j'ai trouvé que vous pouvez sortir de cette situation en stockant votre référence de fenêtre globalement et en vous référant à la même référence globale chaque fois que vous avez besoin d'accéder à la nouvelle fenêtre.

Répondre

0

Il est possible de stocker le nom de la variable de référence de la fenêtre javascript. Mais, vous pourriez vouloir considérer le fait que si vous n'avez aucun contrôle sur le HTML où le swf est affiché, vous ne pouvez pas être sûr que l'accès javascript ne lancera pas un SecurityError basé sur diverses politiques de sécurité présentées par l'équipe flash.

0

Essayez-vous simplement de présenter une nouvelle page Web à partir de votre fichier .swf? si c'est le cas, l'interface externe n'est pas requise. vous pouvez simplement utiliser navigateToURL:

navigateToURL(new URLRequest("http://www.stackoverflow.com"), "_blank"); 

cependant, si vous voulez faire une fenêtre pop-up avec une taille personnalisée et la visibilité de la barre d'outils du navigateur et des barres de défilement, vous pouvez appeler l'interface externe comme ceci:

if (ExternalInterface.available) 
    { 
    ExternalInterface.call(
         "window.open", 
         "http://www.stackoverflow.com", 
         "win", 
         "height=200, width=300, toolbar=no, scrollbars=yes" 
         ); 
    } 
+0

Je suis capable d'ouvrir la fenêtre du navigateur en utilisant à la fois - 'navigateToURL()' et 'ExternalInterface'. Ma question est de savoir comment écrire du contenu en utilisant javascript envoyé par 'ExternalInterface'. – nuaavee