Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   stop() в фрейме и кэш браузера (http://www.flasher.ru/forum/showthread.php?t=182949)

AlexGD 07.08.2012 21:01

stop() в фрейме и кэш браузера
 
Делаю свфку. В ней 2 фрейма. Во втором стоит stop(). Запускаю в браузере локально - все нормально - всегда останавливается. Запускаю ее же с CDN - то при первой загрузке (без кеша) - все работает нормально, а при последующих - (из кэша браузера) - не останавливается... Причем трейсы все работают отлично, а вот stop();, dispatch - ни в какую...

И началось это с того момента, как перешел на CS6.

Никто не сталкивался с чем-то подобным?

gagaga 07.08.2012 22:09

никто в кадрах не пишет

dimarik 07.08.2012 23:21

Цитата:

а вот stop();, dispatch - ни в какую...
В этом кадре работает только trace?
Попробуйте для проверки пару других методов/операторов вызвать.

AlexGD 08.08.2012 15:50

Цитата:

Сообщение от dimarik (Сообщение 1091362)
В этом кадре работает только trace?
Попробуйте для проверки пару других методов/операторов вызвать.

Вызываются и отрабатывают... А вот stop - нивкакую (диспатч, кстати, отрабатывает - я ошибся).

dimarik 08.08.2012 22:39

Я понял Вас. Если не сложно, сделайте минимально работающий пример на публичном сервере. И дайте на него ссылку. Можно без исходников. У меня закрадывается подозрение, что я сталкивался с таким поведением несколько лет назад.

AlexGD 13.08.2012 16:40

Долго мучался с созданием "минимального" рабочего примера (чтобы не работало), но в конце-концов решил проблему самостоятельно.

Вот тут не очень доступно, но вполне понимаемо, написана причина такого поведения плеера.

http://3lbmonkeybrain.blogspot.com/2...line-code.html

Добавлено через 3 минуты
Кстати, в некоторых случаях вот это:

var info:LoaderInfo = event.target as LoaderInfo;
addChild(info.content);
}

тоже не работает.

Лучше всего сразу весь лоадер аддить в спрайт, а потом уж производить с ним действия - тогда - точно работать будет.

Добавлено через 6 часов 58 минут
Но и это, оказывается, иногда не работает (при локальном прокси-кешировании). Жуть.

А вот это работает окончательно. Ну, пока не нашел ситуаций, когда не работает (псевдокод):

public function loadSwf2(func: Function, url: String, uriCode:String):void
{
var uldr : URLLoader = new URLLoader();
uldr.dataFormat = URLLoaderDataFormat.BINARY;
uldr.addEventListener(
Event.COMPLETE,
function(URLLoaderEvent:Event):void {
var bytes : ByteArray = (URLLoaderEvent.target as URLLoader).data;
var ldr : Loader = new Loader();
ldr.contentLoaderInfo.addEventListener(
Event.COMPLETE,
function(ldrEvent:Event):void {
func(ldrEvent.target.content, uriCode);
}
);
var ldrC : LoaderContext = new LoaderContext();
ldr.loadBytes(bytes, ldrC);
}
);

uldr.load(new URLRequest(url));
}


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

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