Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Прототипы стандартных классов и внешние объекты (http://www.flasher.ru/forum/showthread.php?t=166848)

mrs 06.09.2011 08:19

Прототипы стандартных классов и внешние объекты
 
Подскажите, как применить изменения внесенные в прототип стандартного класса к объектам в SWF-модуле, загружаемом в основной модуль приложения со стороннего сервера?

Вот допустим поменял я прототип у Array в основном модуле приложения следующим образом:
Код AS3:

Array.prototype['at'] = function( index:int ):* { return this[ index ]; }
Array.prototype.setPropertyIsEnumerable( 'at', false );

В случае если я загружаю внешний SWF-модуль с того же сервера, что и основной модуль, то метод at прекрасно работает с массивами из внешнего модуля. Однако, если расположить внешний SWF-модуль на стороннем сервере, то при вызове at у массива из внешнего модуля, происходит исключение:
Код:

TypeError: Error #1006: at is not a function.
Можно ли что-нибудь сделать, кроме перекомпиляции внешнего SWF-модуля?

kackbip 06.09.2011 08:29

Грузите модуль в ApplicationDomain основного приложения. Должно помочь.

nOobCrafter 06.09.2011 12:18

Код AS3:

        var lc:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, ClientUtils.isLocal() ? null : SecurityDomain.currentDomain);

чтото вроде этого надо отдавать.

mrs 07.09.2011 06:05

спасибо. теперь вроде порядок!

Котяра 07.09.2011 14:23

мне интересно а в чем преимущество
Код AS3:

array.at(index)

перед
Код AS3:

array[index]

кроме замедления работы?

mrs 07.09.2011 15:51

at выше был только для примера. а вообще смысла в существовании подобного метода наверное мало. разве что дополнительная обработка индекса перед получением элемента массива.


Часовой пояс GMT +4, время: 22:47.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.