2010-11-16 22 views
1

J'ai un fichier SWF qui contacte un script php sur le même domaine. Dans le premier cas, les deux sont hébergés derrière le même domaine et communiquent sans problème. Tout fonctionne très bien. Cependant, lorsque je prends le même balisage qui incorpore le fichier SWF et le collez sur un autre site (en utilisant un chemin qualifié complet pour le swf dans le code hébergé localement et à distance), le fichier SWF ne communique plus avec le script php J'ai écrit.Accès SWF à travers les domaines

J'ai ajouté un fichier inter-domaine à mon site qui ressemble à ceci.

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy 
    SYSTEM "http://www.macromedia.com/xml/dtds/cross-domain-policy.dtd"> 
<cross-domain-policy> 
    <allow-access-from domain="*" /> 
</cross-domain-policy> 

J'ajouté ce fichier de plusieurs domaines à la fois la racine de mon domaine hébergé et aussi dans le répertoire où le swf est hébergé. Cependant, aucun n'a résolu le problème. Quelqu'un peut-il me dire pourquoi mon SWF ne communique pas avec mon script PHP et comment je peux le faire fonctionner?

Répondre

1

allowScriptAccess est un paramètre d'intégration permettant au fichier SWF d'utiliser javascript dans son DOM contenant. cela n'affectera donc pas l'accès inter-domaines.

le fichier crossdomain.xml devrait être tout ce que vous devez ajouter à la racine du domaine externe avec lequel le SWF essaie de communiquer. Pouvez-vous vérifier que vous n'obtenez pas une erreur 404 ou un autre problème HTTP lorsque vous essayez votre communication crossdomain? Existe-t-il des exceptions d'erreur qui peuvent vous aider à déboguer le problème?

Postez un lien si vous le pouvez.

+0

Donc, voici le lien du site extérieur, qui ne peut pas communiquer avec le script PHP. http://ryan.d3-systems.com/?p=148 et voici le même script fonctionne correctement, http://securedmark.com/demo.php. Vous pouvez voir que j'ai un crossdomain.xml à la fois ici http://ryan.d3-systems.com/crossdomain.xml et ici http://d3-systems.com/crossdomain.xml. Donc, je ne peux pas comprendre ce que je fais mal ici parce que cela fonctionne très bien sur le site hébergé. – Ryan

+0

@Ryan: avez-vous résolu cela – goliatone

+0

Oui, cela m'a pris soin de. Je vous remercie! – Ryan

0

Essayez d'ajouter le paramètre allowScriptAccess="always" à votre balise embed et object.

+0

Pas de chance, désolé. Après avoir ajouté AllowScriptAccess, rien ne change. Fonctionne toujours lorsque référencé derrière le domaine hébergé, et ne fonctionne pas sur le domaine distant – Ryan

0

Assurez-vous que votre redirection canonique ne gêne pas le script. J'ai remarqué que vous ne redirigez pas la même chose dans les deux domaines et peut-être que vous ciblez le script avec le préfixe valide dans les deux, à savoir:

Il peut ne pas être le même www.d3-systems.com à d3- systems.com ...