Показать сообщение отдельно
Старый 18.01.2010, 11:32
bbexp вне форума Посмотреть профиль Отправить личное сообщение для bbexp Посетить домашнюю страницу bbexp Найти все сообщения от bbexp
  № 1  
Ответить с цитированием
bbexp
 
Аватар для bbexp

Регистрация: May 2006
Адрес: Город О
Сообщений: 169
По умолчанию Security Box Violation, странное поведение

Весьма странная проблема возникла, даже не знаю куда копать.

ДАНО:
Сайт, на котором для эффекта смены страниц используется алгоритм:
-снимаем битмап снимок BitmapData.draw() со старой страницы
-снимаем битмап снимок с новой страницы
-показываем 3D анимацию смены двух страниц.

Есть страница портфолио, где загружаются или FLV, или PNG/JPG.
Если в портфеле были просмотрены и видео и растры, и мы пытаемся уйти со страницы, когда на ней торчит загруженный растр, битмап снимок не делается (остается старый), а в Output выходит сообщение
Код:
*** Security Sandbox Violation ***
Connection to null halted - not permitted from file:///Macintosh%20HD/Users/murejib/Documents/flash/3DIMERCE/engine.swf
Если же я ухожу со страницы после простора видео, назависимо от того, смотрел я растры или нет, все происходит как положено.

Не могу понять, что может быть причиной такой избирательности?
Если бы флеш запрещал делать бимап снимки с видео, то уход с этой страницы никогда бы не работал корректно. Тоже касается и запрета на битмапснимки с загруженного растра. Но ведь в других то случаях работает, вот ведь какая штука.


Ссылки для наглядности:
http://www.connexx-demo.nl/3dimerce/...e=case1&work=3
Это ссылка на работу в растре, попробуйте с нее перейти на любой другой пункт в основном меню. У меня это работает.
Если с нее же переключиться на работу 5 (или 1, или 2) и потом уйти на другую страницу - тоже работает.
Если же после переключения на одну из видео-работ я снова перключюсь наработу в растре (3,4), то теперь выход с растровой работы - не работает.

Добавлено через 3 часа 53 минуты
Найден костыль.
Надо проверить, если мы уходим со страницы, а на ней торчит картинка, надо перед прорисовкой битмапДаты сделать
Код AS1/AS2:
NetStream.play("");
и все работает.
Но ситуация мне все равно не понятна )
__________________
Работа * Работы * О работе