Два важных момента.1 - SWF должен иметь возможность загружать двоичные данные из любого домена.2 - SWF не может загрузить XML-файл политики из URL, потому что форма загрузки позволяет мне загружать только SWF-файлы, поэтому я не могу включать любые другие данные.Я пробовал:
Security.allowDomain("*");
Но это работает только для SWF-файлов.Я пытался внедрить XML-файл политики:
var dataXML:XML =
<?xml version="1.0"?>
<!-- http://www.foo.com/crossdomain.xml -->
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>;
Но Security.loadPolicyFile (url: String) позволяет устанавливать только URL файла, а не данные.Итак, мой вопрос: как я могу разрешить SWF загружать двоичные файлы из разных доменов, не имея никаких дополнительных файлов?Код URLLoader:
var request:URLRequest = new URLRequest("http://differentdomain.com/binaryfile.dat");
var words:URLLoader = new URLLoader();
words.dataFormat = URLLoaderDataFormat.BINARY;
words.addEventListener(Event.COMPLETE, prepareFile);
words.addEventListener(IOErrorEvent.IO_ERROR, loadError);
words.addEventListener(SecurityErrorEvent.SECURITY_ERROR, secureError);
words.load(request);
Это сделает ошибку безопасности, если файл находится в другом домене, чем SWF-файл.Спасибо за любую помощь.
Возможность получить двоичные данные из JavaScript, используя ExternatInterface в коде AS3.Вот кросс-браузерная библиотека для чтения двоичных файлов: двоичная читалка и более поздняя версия jDataView Надеюсь, это кому-нибудь поможет.Спасибо Джонатану Хедборгу за идею.