2010-11-13 33 views
17

En realidad, me gustaría saber por dónde empezar desde ...¿Qué es el archivo crossdomain.xml?

He incorporado un control de galería de imágenes SWF de terceros, en un sitio web personal mío.

El archivo SWF es XML. Puedo cargar el archivo XML sobre la marcha de la siguiente manera ....

var flashvars = { xmlPath: "http://www.example.com/xml.aspx" }; 
       var params = { allowFullScreen: "true", wmode: "transparent", allowScriptAccess: "always"}; 
       var attributes = {}; 
       swfobject.embedSWF("main.swf", "gallery", "100%", "100%", "9.0.0", "expressInstall.swf", flashvars, params, attributes); 

El problema es que la página no funcionó como se esperaba. En realidad solo funcionó en Firefox, no en Chrome o I.E.

Después de verificar las solicitudes con fiddler, encontré que no se encontró el archivo crossdomain.xml. Así, StackOverflow me ayudó encontrar una muestra ...

<?xml version="1.0" ?> 
<cross-domain-policy> 
    <site-control permitted-cross-domain-policies="master-only"/> 
    <allow-access-from domain="*"/> 
    <allow-http-request-headers-from domain="*" headers="*"/> 
</cross-domain-policy> 

Después de añadir el /crossdomain.xml la página web ahora funciona en Firefox y POR EJEMPLO En Chrome todavía tengo un problema.

Así que aquí hay un par de preguntas ...

1) ¿Cuál es el /crossdomain.xml?

2) ¿Cómo puedo hacer que mi página web también funcione en Chrome?

Respuesta

23

"Un archivo de política entre dominios es un documento XML que otorga a un cliente web -como Adobe Flash Player, Adobe Reader, etc.- permiso para manejar datos en múltiples dominios.". Tomado del sitio web de Adobe http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html.

EDIT: Respuesta a la pregunta 2: Flex crossdomain.xml not working correctly in Chrome/Firefox?. Instale Adobe Flash Player para desarrolladores, Fiddler (o similar), estas herramientas le facilitarán la vida. Lea también http://kb2.adobe.com/cps/839/cpsid_83950.html.

+0

Gracias! ¿Podría indicarme por qué el SWF tampoco funciona con Chrome? – OrElse

+15

Creo que es porque SO es más rápido y más fácil que Google :) – Joe

+0

En realidad, me enteré del archivo crossdomain.xml que falta con la ayuda de Fiddler – OrElse

8

Y para todos los novatos que hay como yo, ¡el SWF también funciona en Chrome!

La diferencia fue que http://www.example.com y http://example.com son DOS "entidades" DIFERENTES.

me estaba cargando el archivo en var flashvars = { xmlPath: "http://www.example.com/xml.aspx" }; e hice mis pruebas con Chrome, en un "dominio diferente" http://example.com

+0

Eso es un poco raro. Como se define [aquí] (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), la descripción del origen es: Protocolo + Puerto + Nombre de host. No estoy seguro, pero puede ser que el nombre de host sea diferente en ambos casos. –