2011-10-31 2 views
0

Je DEVELOPPER ce lecteur vidéo: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index.htmlAS3: crossdomain.xml ne fonctionne pas

Dans l'exemple ci-dessus, le lecteur charge cette image de départ, pour l'afficher avant la lecture de la vidéo: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/videos/HF_REEL.jpg

-

ici, je dis alors au joueur de charger la même image, mais sur un autre domaine: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index2.html

L'image donnée est: http://www.daviddarx.com/HF_REEL.jpg

-

Comme vous pouvez le voir, il ne fonctionne plus. J'ai cherché sur Google et j'ai découvert que je devais théoriquement ajouter un fichier crossdomain.xml, pour m'assurer qu'il n'y a pas de protection de sécurité qui empêche swf de charger des images depuis un autre domaine.

Je mets donc ces deux fichiers sur mes différents domaines, de dire le swf d'accepter les fichiers de tous les domaines *: http://www.horsform.com/crossdomain.xml

http://www.daviddarx.com/crossdomain.xml

Mais il ne fonctionne toujours pas ... Avez-vous savoir ce qui ne va pas? Est-ce que je manque quelque chose? Merci d'avance pour votre aide!

Davis

Répondre

1

Le RTE vous dit en fait ce qu'il faut faire:

Un fichier de stratégie est nécessaire, mais le drapeau checkPolicyFile n'a pas été mis lorsque ce média a été chargé.

de l'aide AS3:

Lorsque vous appelez la méthode load() de l'objet Loader, vous pouvez spécifier un paramètre de contexte, qui est un objet LoaderContext. La classe LoaderContext comprend trois propriétés qui vous permettent de définir le contexte de la façon dont le contenu chargé peut être utilisé:

checkPolicyFile: Utilisez cette propriété uniquement lors du chargement d'un fichier image (pas un fichier SWF). Spécifiez ceci pour un fichier image d'un domaine autre que celui du fichier contenant l'objet Loader. Si vous définissez cette propriété sur true, le chargeur vérifie la présence d'un fichier de règles inter-domaines sur le serveur d'origine (voir Contrôles de site Web (fichiers de politique inter-domaines )). Si le serveur accorde l'autorisation au domaine Loader, ActionScript à partir de fichiers SWF dans le domaine Loader peut accéder aux données dans l'image chargée. En d'autres termes, vous pouvez utiliser la propriété Loader.content pour obtenir une référence à l'objet Bitmap qui représente l'image chargée, ou la méthode BitmapData.draw() pour accéder aux pixels à partir de l'image chargée.

Vous avez donc besoin de passer une instance LoaderContext avec le drapeau checkPolicyFile défini sur true comme paramètre de la méthode Loader#load

Quelque chose comme:

var loader : Loader = new Loader(); 
loader.load(new URLRequest('http://www.daviddarx.com/HF_REEL.jpg'), new LoaderContext(true)); 
+0

Great! Merci pour ce soutien très efficace! Cela fonctionne bien: http://www.horsform.com/_WIP/mjf_2011/live/demo_player/_final/index2.html Par ailleurs, et de sorte que je puisse être résoudre plus de problèmes par moi-même, qu'est-ce que vous appelez RTE? Est-ce quelque chose qui vous permet de voir les actionscript dans le navigateur? Merci de votre aide! – daviddarx

+0

RTE est une erreur d'exécution qui est renvoyée lors de la lecture du swf. Il y a aussi le CTE (Compile Time Error) qui est lancé par le compilateur lors de la compilation du swf. Vous pouvez voir les RTE si vous installez la version de débogage du lecteur flash. Vous pouvez les trouver ici: http://www.adobe.com/support/flashplayer/downloads.html – Creynders

Questions connexes