![]() |
как подрузить картинки в цикле через loadClip()???
Всем привет!!!!
у меня вознилка вот такая проблема. Мне надо загрузить несколько картинок причем какие именно картинки поределяется динамически и урл берутся из БД. Я пыталсь сделать так: загрузила все урл в масив , а потом пыталась в цикле for(){} загружать из с помощью loadClip. Вот код: Код:
var masLoadedObj = new Array();Т.е если 3 картинки то он пишет что не может открыть file:////D|/direction/im(3).jpg. если 2 картинки то он пишет что не может открыть file:////D|/direction/im(2).jpg. а если одна картинка то все нормально. Помогите пожалуйса!Что тут происходит???? вот я думала мож он ругается потому что не успевает загрузить одну какртинку ,то есть на срабатывает событие onLoadComplete, а цикл продолжается, и он начинает грузить другую... Если это так, то как надо правильно все сдеалть, чтоб работало???? ПОЖАЛУЙСТА!!!!!ПОМОГИТЕ!!! заранее СПАСИБО!!! |
может это - про цикл и ID тебе поможет
http://flasher.ru/forum/showthread.php?t=84941 |
Вполне можно обойтись одним лоадером:
Код:
// список картинок, полученный из базы данных |
Не стоит грузить файлы все сразу. Лучше по 1-2 штуки, дождитесь загрузки одного объекта и начинайте следующий. У браузеров количество одновременно скачиваемых файлов не так уж велико, например у ИЕ по умолчанию 2, остальные будут стоять в очереди. И если скорость инета маленькая или вес файла большой, то запрос к последнему файла может привысить время ожидания.
|
В таком случае так:
Код:
// список картинок, полученный из базы данных |
только initObject нельзя передать в createEmptyMovieClip, к тому ж в него еще и грузим ..
не вижу почему эту же i (которую для загрузки пользуем) не использовать Код:
ls.onLoadInit = function ( target_mc:MovieClip ) { |
точно, я двоешник ((
с другой стороны, i нам может и пригодиться, так что можно просто назначить: Код:
var mc:MovieClip = createEmptyMovieClip( name_mc, this.getNextHighestDepth()); |
А ты проверял, существует-ли твоя переменная после загрузки картинки, а?
|
Привет Всем!
Kikasso , я пыталась сделать так как ты посоветовал, но у меня все равно та же беда.Взяла просто и скопировала твой код(тот где с loadNext()) и запустила его.И конечно, поменять имена файлов я не забыла. Но у меня все та же ошибка появляется. ---------------------------------------------------------------------- Error opening URL "file:///D|/Masha/gallery/picture/im3.jpg" Error opening URL "file:///D|/Masha/gallery/picture/im2.jpg" Error opening URL "file:///D|/Masha/gallery/picture/im1.jpg" Error opening URL "file:///D|/Masha/gallery/picture/im0.jpg" ---------------------------------------------------------------------- Но разница лишь в том что если раньше он выводил такое сообщение только на последний загружаемы файл , то теперь на все(((( Что это такое вообще не пойму(((( Вроде же все должно грузиться нормально.В чем загвоздка?????7 Подскажите пожалуйса! спасибо))) |
так а файлы где лежат и как называются??
|
Цитата:
берите код silin'a Приношу извинения за дезинформацию и ухожу в монастырь.:o |
загадочная какая-то история: если "Error opening URL", то как же следующая заргузка запускается, ведь onLoadInit не должен сработать ..
не говоря уже о том, что в изначальном раскладе Kikasso вообще только первая загрузка проходит.. MashaViv, ты свой код покажи, интересно же как такого можно добиться.. к слову: такая последовательная загрузка чревата тем, что все заткнется при ошибке (хотя можно и onLoadError задействовать на этот случай), если же грузить всех сразу, то недополучим только ущербные.. а насчет ограничений на одновременную загрузку у браузера, так не факт, что плагин у него разрешения спрашивает, iNils, откуда информация? |
последний совет.. это работает ( под Windows )..
вот это Код:
dir *.jpg /b >dir.txtв dir.txt получим список файлов. |
Злополучная затираемая i отвечает за позиционирование, и никак не влияет на загрузку, так что корень зла не в этом. Проверил.
|
Тогда какой смысл в присвоении i?
|
как же не влияет, если if(target_mc.i>0) loadNext();
|
Вложений: 1
Мне остается только приложить готовое работающее решение, собраное из всего в этой ветке. Нуждается в распаковке.
|
мне - автобан на неделю.
|
работающее нам не надо, нам с 4мя 'Error opening URL' давай..
зы: я бы тож непрочь по автобану поездить хоть чуть-чуть: достали наши дороги :) |
Цитата:
Если картинки есть, он грузит все, только одну над другой :o |
>>Как раз и выдаст, картинок-то нет.
без картинок я и сам могу, ты с картинками попробуй.. |
Вот пожалуйста то самы код который выдает ошибки типа
--------------------------------------------------------- Error opening URL "file:///D|/Masha/gallery/picture/im(3).jpg" --------------------------------------------------------- Код:
this.stop(); |
А скажите еще пожалуйста, если ограничения на то какого размера грузить картинки в цикле???
Вот например пишу так : Код:
this.stop();у меня все картинки весят гд-то по 200кило.Запускаю код.И ошибка та же самая. --------------------------------------------------------- Error opening URL "file:///D|/Masha/gallery/picture/im(3).jpg" --------------------------------------------------------- Теперь беру и уменьшаю катринук im(3).jpg до размеров 46,0 КБ , терь ее рзамер 100*100 . Запускаю.И....О чудо одна картинка im(3).jpg загрузилось и для остальных ошибка --------------------------------------------------------- Error opening URL "file:///D|/Masha/gallery/picture/im(2).jpg" --------------------------------------------------------- Тут получается дело в размере что ли????? Ничего не понимаю((( |
Ну я вообще не пойму что за чудеса!!!
Вот смотрите.Изначально изображение у меня веслио 200 кило и не грузилось и было ошбика --------------------------------------------------------- Error opening URL "file:///D|/Masha/gallery/picture/im(3).jpg" --------------------------------------------------------- я думал что картинка слоишком большая.Взяла фотошоп изменила размер до 40 кило.Все ок, все грузится.Потом взяла и увелчичило до 4метро.И гружится же.Так что такое ???? может файлы просто бачные , а я тут все гружу)))???!!! |
Млин..... это же пипец просто какой-то!!!!!!
Дело в том , что все эти обишки возникали, потому что я использовала недопустимые имена((((((( вот im1.jpg допустмо!!! im(1).jpg не допустимо!! вот и все... эх обидно(((( Всем огромное спасибо за помощь.!!!! Без Вас я бы не справилась!!!!!!!! Выручили))) |
оч. похоже на то, что просто файлы битые..
тестил код из поста #22 : если от пхп приходит то, что надо, то все должно работать.. зы: reciver.onData надо бы определить до sender.sendAndLoad , хотя дело не в этом, канеш.. зыы: в локале im(1).jpg тож проходит, однако.. |
Поздравляю с решением проблемы ))
Все наверняка гораздо проще. В php после закрывающего "?>" остался перевод строки или пробел. Это приплюсовалось к имени последнего файла, и такого файла естественно нет. В этом был изначальный трабл. Причем этот пробел мог быть и в другом файле, подключенном по по include. |
с помощью XML картинки список картинок получать надежнее:
files.xml: Код:
<xml>Код:
var gallery_xml:XML = new XML(); |
Kikasso, а что, простите, делает delete this?
|
Цитата:
Код:
gallery_xml.onLoad = function(success:Boolean) {.../Flash8/Samples and Tutorials/Samples/Action Script/Galleries Так что вопрос собственно не ко мне. Разработчики просто поленились проверить, удаляет ли эта фраза ненужный более xml. В таком виде - не удаляет. В таком - Код:
//delete this;Код:
setTimeout(function (){ trace(gallery_xml);}, 2000 );Код:
<?xml version="1.0"?> |
delete gallery_xml никак не изнутри, просто повезло, что область видимости совпадает. Две секунды можно и не ждать.
А про utf-8 — нигде не написано, а должно. А кто сказал, что стандартные примеры являются самыми-самыми? delete this уже показывает то, что разработчик не в теме. |
Цитата:
А по сабж, я внимательно перечитал симптомы и готов поспорить, что ошибка была именно в паразитном символе после закрывающего тега в php. Это все объясняет - почему не грузился именно последний джепег. Пробел в текстовом поле и в output не виден, а на сервер посылается в виде %20 ( перевод строки %0A ). |
Цитата:
Они просто работают-работают. delete this - ну, захотелось человеку прибраться, отмахнулся веником.. а тут надо бумажку на палочку накалывать.. А фразу "разработчик не в теме" можно я себе в подпись возьму? C вашим (с) естественно? |
Цитата:
з.Ы. Я про конкретную вещь в коде, не столько про проблему загрузки, сколько про логику. з.Ы.Ы. Фразу — пожалуйста. |
Цитата:
"delete this" я не писал, я это оставил, есть небольшая разница (семантическая). "изнутри" - ну, изнутри скобок. К слову, можно и оставить именно этот XML в покое. Или объявить его локально внутри функции, возвращяющей массив с картинками. Что разработчики не ангелы и код в примерах не эталон, тоже известно. Пример я привел для иллюстрации удобства XML в данном конкретном случае - вместо того, чтобы разбивать строку, массив можно получить автоматически. Код:
...Кроме удобства, если у нас картинки выдаются по адресам вида piks.php?i=25&message=hello&rand=123456 передать через LoadVars нереально, а через CDATA запросто. |
| Часовой пояс GMT +4, время: 09:26. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.