2010-11-13 8 views
17

In realtà vorrei sapere da dove iniziare ...Che cos'è il file crossdomain.xml?

Ho incorporato un controllo di galleria di immagini SWF di terze parti, in un mio sito web personale.

Il file SWF è basato su XML. Carico il file XML al volo come segue ....

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); 

Il problema è che la pagina non ha funzionato come previsto. In realtà ha funzionato solo in Firefox, non in Chrome o I.E.

Dopo aver controllato le richieste con il violinista, ho trovato che il file crossdomain.xml non è stato trovato. Quindi, StackOverflow mi ha aiutato a trovare un campione ...

<?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> 

Dopo aver aggiunto il crossdomain.xml la pagina web ora lavora in Firefox e OSSIA In Chrome ho ancora un problema.

Così qui sono un paio di domande ...

1) Qual è il crossdomain.xml?

2) Come posso far funzionare la mia pagina Web anche in Chrome?

risposta

23

"Un file di criteri interdominio è un documento XML che concede a un client Web, ad esempio Adobe Flash Player, Adobe Reader, ecc. Il permesso di gestire i dati su più domini.". Tratto dal sito Web di Adobe http://www.adobe.com/devnet/articles/crossdomain_policy_file_spec.html.

MODIFICA: rispondere alla domanda 2: Flex crossdomain.xml not working correctly in Chrome/Firefox?. Installa Adobe Flash Player per sviluppatori, Fiddler (o simili), questi strumenti dovrebbero semplificarti la vita. Leggi anche http://kb2.adobe.com/cps/839/cpsid_83950.html.

+0

Grazie! Potresti indicarmi perché il SWF non funziona anche con Chrome? – OrElse

+15

penso sia perché SO è più veloce e più facile di Google :) – Joe

+0

In realtà ho imparato a conoscere il file crossdomain.xml mancante con l'aiuto del violinista – OrElse

8

E per tutti i neofiti là fuori proprio come me, il SWF funziona anche in Chrome!

La differenza era che http://www.example.com e sono DUE DIVERSE "entità s".

stavo caricamento del file al var flashvars = { xmlPath: "http://www.example.com/xml.aspx" }; e fatto i miei test con Chrome, su un "dominio diverso" http://example.com

+0

Anche se è un po 'strano. Come definito [qui] (https://developer.mozilla.org/en-US/docs/Web/Security/Same-origin_policy), la descrizione dell'origine è: Protocollo + Porta + Nome host. Non sono sicuro, ma il nome host potrebbe essere diverso in entrambi i casi. –