AS3 | Проблема загрузки SWF
Когда я экспортирую свой проект как SWF-файл, он не загружает XML-файл с URL-адреса и изображения с URL-адреса. Я пытаюсь экспортировать его как исполняемый файл, и он работает. С помощью Ctrl+Enter в Adobe Flash это тоже работает. Как это исправить?
2 ответа
- В режиме отладки междоменные проверки безопасности отключены (поэтому вы можете делать это с помощью Ctrl + Enter)
- Как exe, вы уже находитесь в другом контексте, который позволяет загружать файлы с любого URL, так как ваш exe работает на вашем декстопе.
Чтобы решить эту проблему, вы должны быть в одном из следующих случаев:
а) вы загружаете данные из URL в том же домене, что и ваш SWF,
Например: ваш swf находится на mysite.com/myflash.swf и загружает XML-файл с mysite.com/somefile.xml.
б) вы загружаете данные из разных доменов, в этом случае вам нужен файл cross-domain.xml в корневом URL-адресе доменов, из которых вы загружаете xml-файлы
пример: теперь вы загружаете xml с someothersite.com/somefile.xml
Более подробную информацию о cross-domain.xml и политиках безопасности вы можете найти в Google.
Может кто-нибудь опубликовать хорошо сформированный пример crossdomain.xml?
http://www.adobe.com/devnet/adobe-media-server/articles/cross-domain-xml-for-streaming.html
Если ваш XML-файл все еще локальный (то есть не загружен на работающий сервер), большинство браузеров по умолчанию будут препятствовать загрузке локальных файлов.swf-файлами.
Вы МОЖЕТЕ настроить браузер, чтобы он открывал, РАЗРЕШАЯ доступ к локальным файлам, например:
Добавьте ярлык Chrome на рабочий стол. Щелкните правой кнопкой мыши и выберите "Свойства". В поле "Цель" добавьте...
--allow-file-access-from-files
... после.exe
Это должно позволить вам загрузить файл XML.