Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   loadVariables не подгружает перменные (http://www.flasher.ru/forum/showthread.php?t=99533)

SvTol 08.08.2007 10:39

loadVariables не подгружает перменные
 
Есть проигрыватель видео.
Ему я отдаю ид ролика который надо проиграть (clipid)
Код:

clipid = 416;
loadVariables("http://1nsk.ru/lib/id2path.php?id="+clipid, _root);
trace(_root.prw);

вышекузанный РНР скрипт отдает ролику
src - адрес ролика
prw - адресь картинки-превью

но вот трейс выдает undefined.
возможно скрипт продорлжпет работу не дожидаясь пока данные загрузятся.
как лечить такой трабл?

PS: Я вообще правильно понял что выдрать первый кадр с flv средствами флеша никак?

etc 08.08.2007 10:48

Потому что флеш асинхронен и загрузка на момент трейса ещё не произошла. К тому же, loadVariables — анахронизм древнейший. Используйте LoadVars.


Выдрать первый кадр из flv можно, только для этого потребуется третья версия ActionScript.

Tardos Mors 08.08.2007 12:08

Код:

var clipid = 416;
var lv = new LoadVars();
lv.onLoad = function (success)
{
  if (success == true)
  {
    // Это выполнится в случае удачной загрузки
    trace ("src = " + this.src);
    trace ("prw= " + this.prw);
  }
  else
  {
    // А это в случае ошибки
    trace ("Error");
  }
}
lv.load("http://1nsk.ru/lib/id2path.php?id="+_root.clipid);


etc 08.08.2007 12:46

Tardos Mors, в чем тайный смысл выражения if (success == true)?

SvTol 08.08.2007 12:47

спасибо большое. я уже сделал он ентерфрейм и проверку подгрузилась ли перменная :)
но так канечно лучше.

Tardos Mors 08.08.2007 13:06

__etc, если загрузка не удалась (например файл не существует), то переменная success будет равна false. Можно например вывести сообщение об ошибке на сервере, ну или что угодно.

etc 08.08.2007 13:16

Нет, я не об этом. Зачем её сравнивать с true? Почему нельзя написать if (success)?

Tardos Mors 08.08.2007 13:24

А я всегда так делаю. Вместо if (booleanVar) и if (!booleanVar) пишу if (booleanVar == true) и if (booleanVar == false). На мой взгляд такой код лучше читается.

etc 08.08.2007 13:28

Не лучше. Не факт, что параметр будет передан. И он может быть и undefined и null.

Tardos Mors 08.08.2007 13:30

Почему? Куда (в данном случае) переменная success может деться?


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

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