Aide - Recherche - Membres - Calendrier
Version complète : Communication Javascript > Flash
Centre de Formation Flash - Forums Adobe Flash > Rich media et intégration > Intégration HTML
jc147
Bonjour à tous,

Depuis quelques jours, je n'arrive pas à résoudre le problème malgré de nombreux tests et recherches...

Ce que j'ai fait :
Un player vidéo qui permet de changer de piste avec des boutons positionnés à l'extérieur du swf. Donc, vous avez le player et les boutons sur sa droite. A l'aide de addCallback, j'ai pu appeler la fonction AS (changement de piste vidéo) à partir d'une fonction JS exécutée au onClick du bouton, cela fonctionne parfaitement.

Le problème :
Sur le même nom de domaine, le système fonctionne à merveille. Cependant, si je mets la page HTML sur le domaine A et que le player est sur le domaine B, l'appel de la fonction AS ne fonctionne plus.

Mes recherches & essais :
J'ai pu trouver des explications concernant la sécurité de flash, j'ai essayé les solutions qui permettaient de débloquer la sécurité pour les domaines.

La solution :
1. Ajouter en AS un System.security.allowDomain("*");
2. Et ajouter dans le HTML le paramètre allowScriptAccess

Cette solution ne fonctionne pas ou je ne l'ai pas appliqué comme il le faudrait. Pourtant je suis sûr de moi !

Voici quelques info techniques :
Intégration du SWF avec swfobject
Language : ActionScript 2.0


Le code AS :

Action Script

System.security.allowDomain("*");

// Gestion de playlist externe JS >>>
import flash.external.*;
function playMovie(movie:String):Void {
_root.Stream.close();
_root.Stream.play(movie);
}
ExternalInterface.addCallback("playMovie", null, playMovie);


La fonction Javascript :

Action Script

function changeMovie(movie){
document.getElementById("id_player").playMovie(movie);
}


Help !! : icon_smile.gif
Merci d'avance pour l'aide que vous pourrez m'apporter.

J.C.
jc147
Problème résolu !

Comme toujours, c'était une erreur toute bête !
Utilisant SWFObject, j'avais ajouté le paramètre allowScriptAccess avec so.addVariable car j'avais fait un copier coller sans m'apercevoir que c'était un addVariable... Évidement, je l'ai remplacé par addParam et ça marche ! smile.gif

Il vous aurait été très difficile de me venir en aide vu que je ne vous avez pas mis le code d'intégration du SWF...

Si quelqu'un rencontre ce problème, sachez que la communication marche parfaitement entre domaines différents en ajoutant les paramètres cités dans le post précédant. Donc vérifiez bien votre code ! smile.gif
matt-murdock
merci pour ton post,

les prochains vont apprecier...

a+
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2009 Invision Power Services, Inc.