Руководство по actionscript. часть 3, стр. 107
I Чтобы гарантировать, что разрешения на выполнение операций кросс-скриптинга будут пре-*v j „ доставлены фазу после инициализации БУУРфайла, вызывайте метод Security. allowDomain() Ъ-У внутри метода-конструктора основного класса этого SWF-файла.
SWF-файл может определить, есть ли у него разрешение на выполнение операций кросс-скриптинга над загруженным SWF-файлом, проверив значение переменной childAllowsParent объекта Loader Info загруженного файла.
Дополнительную информацию о загрузке SWF-файлов можно найти в гл. 28. Информацию по вызову методов клипа над загруженными SWF-файлами можно получить в разд. «Проверка типов на этапе компиляции для динамически загружаемых элементов» гл. 28.
Разрешение операций кросс-скриптинга над SWF-файлами, загружаемыми по протоколу HTTPS, для файлов, загружаемых по протоколу HTTP. Когда SWF-файл загружается по протоколу HTTPS, приложение Flash Player запрещает вызов метода allowDomain ( ), разрешающий доступ для источников, не использующих протокол HTTPS. Тем не менее разработчики, желающие разрешить доступ для источников, не использующих протокол HTTPS, из SWF-файла, загружаемого по протоколу HTTPS, могут, соблюдая должную осторожность, использовать метод Security. allowInsecureDomain ( ).
Разрешение доступа для источника, не использующего протокол HTTPS, из SWF-файла, загружаемого по протоколу HTTPS, считается угрожающе опасным и категорически не рекомендуется.
Синтаксис и использование метода allowInsecureDomain ( ) такие же, как и у метода allowDomain ( ), рассмотренного в предыдущем разделе. Единственное отличие заключается в том^ что метод allowInsecureDomain ( ) позволяет разрешить доступ для источников, не использующих протокол HTTPS, из SWF-файла, загружаемого по протоколу HTTPS. В подавляющем большинстве ситуаций для предоставления разрешений создателя следует использовать метод allowDomain ( ) вместо allowInsecureDomain ( ). Найти описание особых ситуаций, требующих использования метода allowInsecureDomain ( ), можно в разделе, посвященном методу Security. allowInsecureDomain ( ), справочника по языку ActionScript корпорации Adobe.
Импортирующая загрузка
В гл. 28 будет рассказано, как SWF-файл родителя может особым образом загрузить SWF-файл ребенка, что позволит родителю непосредственно использовать классы ребенка так, будто они определены в родителе. Эта методика требует, чтобы SWF-файл родителя импортировал классы SWF-файла ребенка в свой домен приложения. Рассмотрим базовый код, который должен включать SWF-файл родителя (обратите внимание на использование переменной экземпляра applicationDomain класса LoaderContext):
var loaderContext:LoaderContext = new LoaderContext( ):
1oaderContext. appli cati onDomai n = Appli cati onDomai n. currentDomai n;
var loader:Loader = new Loader( ):
loader, load (new URLRequest (» ребенок, svif»), loaderContext):
При выполнении приведенного кода попытка импортировать классы ребенка в домен приложения родителя будет заблокирована системой безопасности приложения Flash Player в следующих ситуациях:
? если SWF-файл родителя и SWF-файл ребенка загружены из различных удаленных регионов удаленной области действия;
? если SWF-файл родителя загружен из локальной области действия и имеет тип безопасности песочницы, отличный от типа безопасности песочницы SWF-файла ребенка.