if (hid != 'undefined') { //но если существует аргумент hid, то next_song_id и prev_song_id должны содержать в себе два аргумента для дальнейшего вызова функции ui_play(next_song_id) или ui_play(prev_song_id)
next_song_id=$('#my_live_playlist').find('li[data-id="'+(parseInt(hid)+1)+'"]').attr('data-num')+","+(parseInt(hid)+1);
prev_song_id=$('#my_live_playlist').find('li[data-id="'+(parseInt(hid)-1)+'"]').attr('data-num')+","+(parseInt(hid)-1);
}
Вы меня наверное не правильно поняли.
if (typeof hid != 'undefined')
у меня и так работает, мне нужно вызвать функцию, передав ей в переменной аргументы, например:
ui_play(next_song_id) //где next_song_id содержит в себе либо одно число, либо аргументы data и hid
но я не понимаю, как в одной переменной передать аргументы функции
TF-Studio: Ссылки привязаны, поэтому гоняем музончик через сервер.
Ничего сложного в этом нету.
Примеров в сети куча, сделать из них сайт - дело пары дней.
Я думаю, что гонять песни через сервер - не выгодно.
Лучше получать ответ от api vk со стороны клиента в xml, и потом уже парсить его с помощью jquery.
---------- Добавлено 30.12.2012 в 13:57 ----------
vdk: Если у меня динамический ip, то парсить ссылки нет смысла?
всё зависит от того, с какого ip идёт запрос к api vk, если вы получаете ответ с помощью php, то запрос идёт через сервер, следует, в полученном ответе все ссылки на .mp3 будут привязаны к ip вашего сервера и прослушивать их можно будет только если у вас ip как у вашего сервера, чего не может быть. А если напрямую вставить ссылку с запросом к api vk в адресную строку и получить ответ, то все ссылки будут действительны для вашего ip адреса и .mp3 можно будет прослушать только вам.
siv1987: А разве для action script не нужен policy file?
если вы по поводу crossdomain.xml на удалённом сервере (извиняюсь т.к. только учусь as3), то нужен, но откуда мне знать с какого сайта ТС будет парсить информацию :)
обойти можно, если запрос к странице (откуда парсятся линки) будет осуществляться со стороны клиента, а не сервера
если парсится инфа с удалённого сайта можно попробовать AJAX Cross Domain, но это скорей всего не сработает, или написать скрипт на action script (что сделал и я), который получает нужную вам страницу, затем с полученным делаете что угодно
Обработчик события в ActionScript 3 должен получать один аргумент класса Event. Если же нужно самостоятельно вызывать функцию обработчика события, можно написать так:
myHandler(new Event(someEventType));
Что длинно и создает пустое ненужное событие, гораздо проще и удобнее в обработчике события присвоить дефолтное значение аргументу:
public function myHandler(event:Event = null):void {...}
...
// обычный вызов без события
myHandler();
var request:URLRequest = new URLRequest("http://site.ru/");
var variables:URLLoader = new URLLoader();
variables.addEventListener(Event.COMPLETE, completeHandler);
try
{
variables.load(request);
}
catch (error:Error)
{
trace("Ошибка... Видимо что-то пошло не так. Попробуйте снова.");
}
}
function completeHandler(event:Event)
{
var loader:URLLoader = URLLoader(event.target);
ExternalInterface.call("echo_xml", loader.data);
}
function ui_play(data, hid) {
//обычно cur_song_id, prev_song_id, next_song_id - одно число
cur_song_id=data;
next_song_id=parseInt(cur_song_id)+1;
prev_song_id=parseInt(cur_song_id)-1;
first_song_id=$('#playlist').find('li').first().attr('data-num');
last_song_id=$('#playlist').find('li').last().attr('data-num');
if (hid != 'undefined') { //но если существует аргумент hid, то next_song_id и prev_song_id должны содержать в себе два аргумента для дальнейшего вызова функции ui_play(next_song_id) или ui_play(prev_song_id)
next_song_id=$('#my_live_playlist').find('li[data-id="'+(parseInt(hid)+1)+'"]').attr('data-num')+","+(parseInt(hid)+1);
prev_song_id=$('#my_live_playlist').find('li[data-id="'+(parseInt(hid)-1)+'"]').attr('data-num')+","+(parseInt(hid)-1);
}
Вы меня наверное не правильно поняли.
у меня и так работает, мне нужно вызвать функцию, передав ей в переменной аргументы, например:
но я не понимаю, как в одной переменной передать аргументы функции
Ссылки привязаны, поэтому гоняем музончик через сервер.
Ничего сложного в этом нету.
Примеров в сети куча, сделать из них сайт - дело пары дней.
Я думаю, что гонять песни через сервер - не выгодно.
Лучше получать ответ от api vk со стороны клиента в xml, и потом уже парсить его с помощью jquery.
---------- Добавлено 30.12.2012 в 13:57 ----------
Если у меня динамический ip, то парсить ссылки нет смысла?
всё зависит от того, с какого ip идёт запрос к api vk, если вы получаете ответ с помощью php, то запрос идёт через сервер, следует, в полученном ответе все ссылки на .mp3 будут привязаны к ip вашего сервера и прослушивать их можно будет только если у вас ip как у вашего сервера, чего не может быть. А если напрямую вставить ссылку с запросом к api vk в адресную строку и получить ответ, то все ссылки будут действительны для вашего ip адреса и .mp3 можно будет прослушать только вам.
Кстати да.
Что можно вытащить смотрите тут
TF-Studio, у Вас нету случаем примерного шаблона запроса?
подробный пример
и напомню, все ссылки на .mp3 привязаны к ip
А разве для action script не нужен policy file?
если вы по поводу crossdomain.xml на удалённом сервере (извиняюсь т.к. только учусь as3), то нужен, но откуда мне знать с какого сайта ТС будет парсить информацию :)
обойти можно, если запрос к странице (откуда парсятся линки) будет осуществляться со стороны клиента, а не сервера
если парсится инфа с удалённого сайта можно попробовать AJAX Cross Domain, но это скорей всего не сработает, или написать скрипт на action script (что сделал и я), который получает нужную вам страницу, затем с полученным делаете что угодно
Сам спросил, сам ответил 😂
Обработчик события в ActionScript 3 должен получать один аргумент класса Event. Если же нужно самостоятельно вызывать функцию обработчика события, можно написать так:
myHandler(new Event(someEventType));
Что длинно и создает пустое ненужное событие, гораздо проще и удобнее в обработчике события присвоить дефолтное значение аргументу:
public function myHandler(event:Event = null):void {...}
...
// обычный вызов без события
myHandler();
Спасибо ребят, вроде стал не много понимать.
Но есть одна проблемка, как сделать так, что-бы при загрузке/запуске .swf
выполнялась нужная мне функция, а не все, что находятся в public class.
мой код
"Программирование на Flash" называется ActionScript , нужно про него инфу искать
именно это мне и нужно.
спасибо, почитаю
вам надо выполнить:
$("a[id^=add_]").click(function() {....
});
$.get("/ajax.php",{'page': page, 'music': jQuery('#i_search').val()}, function(msg){msg=msg.split('{JAVASCRIPT}');
$('#searchr_24523').html(msg[1]);
ТУТ!
});
чтобы назначить обработчик клика для вновь поступивших данных
точно, теперь понял, что-то сразу не додумался
спасибо ☝
Перед for ($c=... вставить
а в последнюю строчку в цикле добавить точку слева (без пробелов) от знака "=":
p.s. Вообще, ещё неплохо бы переписать заменой for на while..
Спасибо большое, не знал)