Posted on december 10, 2006
Flash a externé domény
Získavať dáta do Flashu z externej domény nie je vôbec jednoduché, teda nebolo. Všetko sa to dá dosiahnuť pomocou súboru crossdomain.xml. Funguje to tak, že flash movie, ktoré si vyžiada informácie z externej domény najprv hľadá tzv. bezpečnostný súbor, ktorý je na nej uložený. Tento súbor musí mať názov crossdomain.xml.
Povedzme, že chcete novinky v súbore xyz.xml na jednej z vašich stránok distribuovať na ďalšie, bez toho aby ste museli súbor xyz.xml prácne uploadovať na všetky vaše stránky jednotlivo. S bezpečnostným vylepšením to nie je možné, pokiaľ nemáte súbor crossdomain.xml.
Takže aký je kód tohto súboru? Veľmi jednoduchý a vyzerá takto:
Pričom uvedené domény sú domény, ktoré cez Flash potrebujú stiahnuť informácie zo súboru xyz.xml. Pričom sú použité možnosti, aby stiahnutie fungovalo aj bez zadania www.
Ak sa nechcete hrať s názvami domén, jednoducho uveďte nasledujúci kód a váš súbor bude dostupný pre všetky domény a IP adresy.
Dôležitou súčasťou je však aj kód, ktorý budete musieť vložiť vo forme actionscriptu do vášho flash súboru, tento má tvar:
System.security.loadPolicyFile(„http://mojadomena.sk/sub/dir/crossdomain.xml“);
Táto metóda však funguje iba pre Flash player 7.0.14.0. a novšie.
Toto som sa dozvedel, keď som pátral po kóde, ktorý by umož?oval presne to čo som tu opísal, nakoľko čoskoro spustím cez www.skiinfo.sk zaujímavú vecičku.
Fanatici môžu vyskúšať aj link, ktorý to opisuje veľmi detailne s rôznymi obmenami.
Pingback: vybrali.sme.sk
Dobry den,
to co ste tu rozobrali velmi potrebujem no v actionscripte mi hadze error pri kompilacii toho prikazu a link uvedeny pre fanatikov je uz nefunkcny, mohli by ste uviest pripadne novy link alebo to trosku viac rozobrat prosim.
Dakujem
Zdravim,
Link som updateoval, dufam, ze to pomoze (dakujem za upozornenie). Neviem presne v com mate problem, uvedeny link hadam pomoze. Ak by nepomohol, tak skuste v google zadat „crossdomain“ a urcite na nieco natrafite. Este uvadzam kompletny kod v actionscripte, aky pouzivam ja:
xmlData = new XML();
xmlData.ignoreWhite = true;
xmlData.onLoad = loadXML;
xmlData.load(„http://www.aaa.sk/abc/cde.xml“);
System.security.loadPolicyFile(„http://www.aaa.sk/crossdomain.xml“);
A dolezite je tiez aby crossdomain.xml bol na servery, z ktoreho chcete nacitat data, nie na tom kde je flash movie.
problem mam asi taky, ze mam stranku na ktorej mam flashove videa ale mam malo miesta na serveri a potrebujem aby sa flashove video nacitalo z ineho servera a objavilo na stranke
v tomto pripade sa video krasne zobrazi, pretoze video je ulozene na aktualnom serveri z ktoreho sa nacitava video…
AC_FL_RunContent = 0;
if (AC_FL_RunContent == 0) {
alert(\“Táto stránka vyžaduje AC_RunActiveContent.js.\“);
} else {
AC_FL_RunContent(
‚codebase‘, ‚http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0‘,
‚width‘, ‚400‘,
‚height‘, ‚350‘,
‚src‘, ‚Video/marek svedsko 1/marek svedsko 1‘,
‚quality‘, ‚high‘,
‚pluginspage‘, ‚http://www.macromedia.com/go/getflashplayer‘,
‚align‘, ‚top‘,
‚play‘, ‚true‘,
‚loop‘, ‚true‘,
‚scale‘, ‚showall‘,
‚wmode‘, ‚window‘,
‚devicefont‘, ‚false‘,
‚id‘, ‚marek svedsko 1‘,
‚bgcolor‘, ‚#f7fbf3‘,
‚name‘, ‚Video/marek svedsko 1/marek svedsko 1‘,
‚menu‘, ‚true‘,
‚allowFullScreen‘, ‚true‘,
‚allowScriptAccess‘,’sameDomain‘,
‚movie‘, ‚Video/marek svedsko 1/marek svedsko 1‘,
‚salign‘, “
); //end AC code
}
a v tomto pripade potrebujem nacitat video z ineho servera ale neviem ako mam zadat tie cesty aby to fungovalo, pripadne ci tam je vobec ten subor crossdomain.xml potrebny…
AC_FL_RunContent = 0;
if (AC_FL_RunContent == 0) {
alert(\“Táto stránka vyžaduje AC_RunActiveContent.js.\“);
} else {
AC_FL_RunContent(
‚codebase‘, ‚http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0‘,
‚width‘, ‚400‘,
‚height‘, ‚350‘,
‚src‘, ‚http://www.mafiavidea.hostuju.cz/Habura 2007 I/Habura 2007 I‘,
‚quality‘, ‚high‘,
‚pluginspage‘, ‚http://www.macromedia.com/go/getflashplayer‘,
‚align‘, ‚top‘,
‚play‘, ‚true‘,
‚loop‘, ‚true‘,
‚scale‘, ‚showall‘,
‚wmode‘, ‚window‘,
‚devicefont‘, ‚false‘,
‚id‘, ‚http://www.mafiavidea.hostuju.cz/Habura 2007 I/Habura 2007 I‘,
‚bgcolor‘, ‚#f7fbf3‘,
‚name‘, ‚http://www.mafiavidea.hostuju.cz/Habura 2007 I/Habura 2007 I‘,
‚menu‘, ‚true‘,
‚allowFullScreen‘, ‚true‘,
‚allowScriptAccess‘,’sameDomain‘,
‚movie‘, ‚http://www.mafiavidea.hostuju.cz/Habura 2007 I/Habura 2007 I‘,
‚salign‘, “
); //end AC code
}
pouizvam free hosting na xf.cz mozno je problem v tom ze nepovoluju nacitavat udaje z externej adresy ale ci take obmedzenie vobec existuje to netusim a neviem ani ako tomu zabranit, lebo som si vsimol ze na mnohych strankach su umiestnene flashove videa z portalov youtube a googlevideo a daju sa na tych istych strankach aj prehrat a ja potrebujem presne to iste…
Dakujem za kazdu radu
problem mam asi taky, ze mam stranku na ktorej mam flashove videa ale mam malo miesta na serveri a potrebujem aby sa flashove video nacitalo z ineho servera a objavilo na stranke
v tomto pripade sa video krasne zobrazi, pretoze video je ulozene na aktualnom serveri z ktoreho sa nacitava video…