Я с подозрением относился бы к коду, который использует большое это ключевое слово: если это используется для создания легче установить много переменных экземпляра или свойств, я думаю, что это может указать, что классы являются слишком большими ( Большой запах Класса ). Если Вы используете его для замены длинных цепочек вызовов как это:
UserHandler.GetUser.First.User.FirstName="Stefan"
UserHandler.GetUser.First.User.LastName="Karlsson"
UserHandler.GetUser.First.User.Age="39"
UserHandler.GetUser.First.User.Sex="Male"
UserHandler.GetUser.First.User.Occupation="Programmer"
UserHandler.GetUser.First.User.UserID="0"
тогда Вы, вероятно, нарушаете Закон
Demeter
Я только что понял! Это действительно связано с командами Security.allowDomain
в моем файле Flash. На самом деле я размещал test.html
на поддомене domainone.com, и это сбивало его с толку. Это должно быть точное совпадение, субдомен и все такое. Оказывается, мне не нужна была команда Security.allowDomain
, которая ссылалась на domaintwo.com, и мне не нужен был файл crossdomain.xml
для Сценария 3!
Поскольку в «настоящей» версии этого сценария, который я в конечном итоге использую, я не обязательно буду знать, что такое domainone.com на самом деле, я изменил код в верхней части файла Flash на этот:
import ajax.AjaxRequest;
try {
var domain1:String = LoaderInfo(this.root.loaderInfo).parameters["allow"];
if ( domain1.length > 0 ) {
Security.allowDomain(domain1);
}
} catch (error:Error) { }
try {
var domain2:String = LoaderInfo(this.root.loaderInfo).parameters["allowhttps"];
if ( domain2.length > 0 ) {
Security.allowInsecureDomain(domain2);
}
} catch (error:Error) { }
...
Затем, в JavaScript, который я использую для встраивания SWF в первую очередь, Я в основном беру текущий домен страницы из document.location.toString ()
, проверяю, использует ли он http или https, а затем передаю домен как allow
и / или allowhttps
в параметре flashvars. Возможно, существует «лучший» способ сделать это, который не полагается на явную настройку домена в переменных Flash (своего рода автоматическое обнаружение из Flash), но я недостаточно хорошо разбираюсь в ActionScript, чтобы понять, что вне. И поскольку этот файл уже выполняет целую кучу двунаправленной связи между JavaScript и ActionScript, это не так уж и важно. Мне достаточно этого решения.
allow
и / или allowhttps
в параметре flashvars. Возможно, существует «лучший» способ сделать это, который не полагается на явную настройку домена в переменных Flash (своего рода автоматическое обнаружение из Flash), но я недостаточно хорошо разбираюсь в ActionScript, чтобы понять, что вне. И поскольку этот файл уже выполняет целую кучу двунаправленной связи между JavaScript и ActionScript, это не так уж важно. Мне достаточно этого решения. а затем передайте домен как allow
и / или allowhttps
в параметре flashvars. Возможно, существует «лучший» способ сделать это, который не полагается на явную настройку домена в переменных Flash (своего рода автоматическое обнаружение из Flash), но я недостаточно хорошо разбираюсь в ActionScript, чтобы понять, что вне. И поскольку этот файл уже выполняет целую кучу двунаправленной связи между JavaScript и ActionScript, это не так уж и важно. Мне достаточно этого решения. Я недостаточно хорошо разбираюсь в ActionScript, чтобы понять это. И поскольку этот файл уже выполняет целую кучу двунаправленной связи между JavaScript и ActionScript, это не так уж важно. Мне достаточно этого решения. Я недостаточно хорошо разбираюсь в ActionScript, чтобы понять это. И поскольку этот файл уже выполняет целую кучу двунаправленной связи между JavaScript и ActionScript, это не так уж и важно. Мне достаточно этого решения.