Просмотр полной версии : Mozilla firefox: onLoadError?
RandomUser
11.04.2006, 15:11
Всем привет.
Занялся я на днях совместимостью одной флешки с разными браузерами. Все вроде-бы ничего, но вот в Mozilla firefox, почему-то не работает такой вот код:
var mc=this.createEmptyMovieClip("m1", this.getNextHighestDepth());
var txt=this.createTextField("tf", this.getNextHighestDepth(), 0, 0, 300, 100);
var loader=new MovieClipLoader();
var listener={};
loader.addListener(listener);
listener.onLoadInit=function(mc) {
txt.text="Load Init! "+mc;
};
listener.onLoadError=function(mc, error) {
txt.text="Load Error! "+mc+" code="+error;
};
loader.loadClip("qwert.swf", mc); // такого файла нету.
В смысле событие onLoadError не происходит!
В IE и Opera все путем...:boredom:
Vensky_Hor
11.04.2006, 15:21
А посмотри, что за версия флеш-плеера в мозилле?
RandomUser
11.04.2006, 15:33
В Mozille стоит 8-ка, по крайней мере в контекстном меню так...
Если файл такой есть, то все ок. onLoadInit работает как часы, а вот при отсутствии такого файлика начинаються проблемы.
всякое бывает, ох уж эта несовместимость.
Был у меня клюк с Loader-ом в 8-ке. Сразу бросал либо комплит либо еррор при загрузке файла(jpg), хотя файл через мнгновение загружался:(.
Написал свой компонент и пока что таких проблем больше не повторялось:). Советую посмотреть на загрузки картинок. Может такая фишка только на конкретном файле?
RandomUser
11.04.2006, 17:23
Советую посмотреть на загрузки картинок. Может такая фишка только на конкретном файле?
Да со всеми файлами эта долбанная Мазилла так обращается... Может это она у меня какая-то кривая? (версия 1.5.0.1)
Или это сам флеш-плеер для нее карявый?
А у меня просто в загрузчике файлы ставяться в очередь на закачку и по событию onLoadInit или onLoadError начинается грузиться следующий файл. Таймер что-ли поставить...:umnik2:
Попробуй просто в пустой мувик загрузить, если загрузится, то ищи проблему в классе загрузчика. Можно переписать, расширить и тд. под конкретные нужды.
RandomUser
11.04.2006, 18:20
Попробуй просто в пустой мувик загрузить, если загрузится, то ищи проблему в классе загрузчика. Можно переписать, расширить и тд. под конкретные нужды.
Хм... Вообще-то с тут проблемы именно с Мазиллой, неработающий код, который я написал в начале топика никаких моих классов не использует.
Просто игнорируется событие onLoadError...
Если интересно то вот несколько подправленный вариант, который работает везде, только вот в Mazilla firefox несколько тормозит...
var mc=this.createEmptyMovieClip("m1", this.getNextHighestDepth());
var txt=this.createTextField("tf", this.getNextHighestDepth(), 0, 0, 500, 500);
var loader=new MovieClipLoader();
var listener={};
var id=null;
var timeout=2000;
loader.addListener(listener);
listener.onLoadInit=function(mc) {
txt.text+=("\nLoad Init! "+mc);
};
listener.onLoadError=function(mc, error) {
txt.text+=("\nLoad Error! "+mc+" code="+error);
clearInterval(id);
};
listener.onLoadStart=function(mc) {
clearInterval(id);
};
//Имитация события onLoadError
id=setInterval(listener, "onLoadError", timeout, mc, "URLNotFound");
loader.loadClip("qwert.jpg", mc); // такого файла нету.
!Если в обычный пустой клип все грузится с помощью loadMovie, то фактически все ок. Выше я предложил заглянуть в класс MovieClipLoader, посмотреть обычным трэйсом, например где именно и в какой момент валиться или должно валиться onLoadError , затем попытаться обработать эту ситуацию иначе. Сделать это можно например, если так уж нарвится MovieClipLoader, расширив его своим классом или написать свой.
RandomUser
11.04.2006, 18:46
Если честно, то я не очень-то силен в ActionScript... И каким образом можно обычным трейсом посмотреть где он валиться, как в класс MovieClipLoader можно заглянуть?
Было бы интересно посмотреть...
Смотри пост:http://www.flasher.ru/forum/showthread.php?t=78035
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.