Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не работает LoaderInfo если в url сайта есть решетка (#) (http://www.flasher.ru/forum/showthread.php?t=182363)

Leone19 20.07.2012 20:31

Не работает LoaderInfo если в url сайта есть решетка (#)
 
Здравствуйте,
Столкнулся с такой проблемой, если в урл странице на которой располагается флеш присутствует решетка:
В первом кадре вот такой код:
Код AS3:

var _loaderInfo: LoaderInfo = (parent as MovieClip).loaderInfo;
 
// stop the parent clip
(parent as MovieClip).stop();
 
_loaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
_loaderInfo.addEventListener(ProgressEvent.PROGRESS, loaderProgress);
_loaderInfo..addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
function loaderComplete(event: Event) : void
{ ....}
function loaderProgress(event: Event) : void
{ ....}
function ioErrorHandler(event: Event) : void
{ ....}

Если флешка вызывается на странице типа /interactive.php
То все работает нормально. loaderProgress отрабатывает и в конце запускается loaderComplete
Но, если флешка вызывается на странице /interactive.php#23
то события не срабатывают, никакая ошибка тоже не возникает.
Скрипт просто стоит на месте.
Очень нужна помощь!

Monade 2 20.07.2012 22:19

ну разсплитить можно адрес. url.split("#")[0]. костыль конечно, но работать должно

Добавлено через 41 секунду
а, извиняюсь, прочитал невнимательно

Leone19 23.07.2012 22:29

На самом деле проблема оказалась в том, что когда в адресной строке браузера есть решетка (#), то флешка вся грузится в первом кадре, вне зависимости от настроек.
Вот такой вот глюк.

wvxvw 24.07.2012 15:40

Я не уверен, но, по-моему в Flash CS была какая-то настрока связанная с маппингом ключевых кадров к якорям на странице. Я так давно ею не пользовался, что не берусь 100% утверждать, но что-то такое вроде было...

Попробуйте собрать флешку нормальным компилятором и посмотреть - повторится ли эффект, возможно это оно.

dimarik 25.07.2012 00:34

Это к тому, что в контексте одной swf экземпляр LoaderInfo по ссылке DisplayObject#loaderInfo один и тот же для любого экземпляра DisplayObject. И приведение парента к MovieClip избыточно. Свойство parent имеет тип DisplayObjectContainer, наследника DisplayObject.
Код AS3:

trace( super.parent.loaderInfo === super.loaderInfo );

Код AS3:

trace( super.parent.loaderInfo === new Shape().loaderInfo );

Выложите результат трейсов. Запускать компилятор лениво.

Добавлено через 16 минут
Первая ссылка на named anchors. Гляньте, может это ваш случай.


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

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