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 !! :
Merci d'avance pour l'aide que vous pourrez m'apporter.
J.C.