Действительно простой вопрос - но тот, который я часами бьюсь головой об стену, пытаясь решить:
Как сделать так, чтобы свойство childAllowsParent в SwfLoader изменялось с ложного на истинное, то есть как родительское приложение настраивало безопасность, чтобы сделать доступными для вас события и другие свойства дочернего приложения.
Чтобы прочитать об этом гибкие документы, можно подумать, что нет ничего проще:
"Это свойство [childAllowsParent] имеет значение true, если дочерний объект вызвал метод allowDomain () для предоставления разрешения родительскому домену или , если загружена политика URL в дочернем домене, который предоставляет разрешение родительскому домену. Если дочерний и родительский домены находятся в одном домене, это свойство имеет значение true. [выделение добавлено] "
Итак, я нахожусь в среде разработки и хочу загрузить SWF из моей собственной системы через SWFLoader и затем иметь возможность отслеживать его события в родительском приложении.
Я начал с установки для параметра trustContent значения true в SWFLoader, но childAllowsParent по-прежнему имеет значение false. Затем я установил пользовательский файл доверия flashplayer, указав каталог, в котором находятся swf (дочерний и родительский). Но childAllowsParent все еще ложный. Из некоторых вещей, которые я прочитал, я понял, что на самом деле вам нужен доступ к родительскому приложению и дочернему приложению с http-сервера, поэтому я настроил xampp в своей системе, а затем получил доступ к родительскому приложению через http://localhost ( через HTML-файл, на который ссылается родительское приложение). Не повезло - childAllowsParent все еще ложно. Затем я поместил политику crossdomain.xml в корневой каталог моего html-сервера (указав allow-access-from domain = "*"). childAllowsParent по-прежнему false.
Затем я вернулся к своему гибкому коду и установил для true loadForCompatibility в SWFLoader. (начинает хвататься за соломинку, я думаю.) childAllowsParent все еще ложный. Затем я переключил параметр командной строки use-network в mxmlc с false на true. childAllowsParent по-прежнему false. Я вернулся и сбросил все предыдущие значения до их первоначальных значений, а затем начал пробовать их в различных перестановках, но childAllowsParent всегда имеет значение false.
В общем, я знаю, что видел множество документов о том, как люди обращаются к атрибутам дочернего приложения, загруженного через SWFLoader. Так что они все понимают тайную алхимию, которая является безопасностью Flash, или им просто повезло.
Что мне нужно сделать, чтобы получить доступ к событиям дочернего приложения, загруженного через SWFLoader.