JavaScript
В этом уроке показано:
- как получить и отсортировать список друзей
- как разместить список друзей в элементе select
- как отправить сообщение на стену друга
code.js
Код: Выделить всё
/* https://flapps.ru/forum - форум о создании приложений */ $(document).ready(function(){var friends_data; // отсортированный список друзей VK.init(function() { // выполняем запрос получения списка друзей VK.api("friends.get", {fields:"first_name,photo"}, function(data) { // узнаем количество друзей var fr = data.response.length; // сортируем друзей по имени (функция sFirstName описана ниже) friends_data = data.response.sort(sFirstName); // в value элемента будем записывать номер пользователя в массиве friends_data for(var i=0;i<fr;i++){ $('#friends_list').append('<option value="'+ i +'">'+ friends_data[i].first_name + ' ' + friends_data[i].last_name +'</option>'); } $("#friends_list").change(function () { // узнаем какой элемент выбран в select selectVal = $('#friends_list option:selected').val(); if (selectVal!='') { // если выбран друг // вытаскиваем из массива фотографию выбранного пользователя по номеру в массиве $('#user_info').html('<img src="'+ friends_data[selectVal].photo +'"/>'); } else { // если выбрано "выберите друга" // очищаем блок с аватаркой $('#user_info').html(''); } }) }); }); $('#send_btn').click(function() { if ($('#friends_list option:selected').val()!='') { // если выбран пользователь if ($('#message_tf').val()!='') { // если введено сообщение uid_to = friends_data[$('#friends_list option:selected').val()].uid; // id выбранного пользователя message_to = $('#message_tf').val(); // отправляем запись на стену VK.api('wall.post',{owner_id:uid_to, message:message_to},function(data) { if (data.response) { // если получен ответ alert('Сообщение отправлено! ID сообщения: ' + data.response.post_id); } else { // ошибка при отправке сообщения alert('Ошибка! ' + data.error.error_code + ' ' + data.error.error_msg); } }); } else { alert('Введите сообщение!'); } } else { alert('Выберите пользователя!'); } return false;}); }); // функции сортировкиfunction sFirstName(a,b) { if (a.first_name > b.first_name) return 1; else if (a.first_name < b.first_name) return -1; else return 0;} /* flapps.ru */
Код: Выделить всё
<html><head><script src="js/jquery-1.6.1.min.js" type="text/javascript"></script><script src="js/code.js" type="text/javascript"></script><link rel="stylesheet" href="css/style.css" type="text/css" /> <script src="http://vkontakte.ru/js/api/xd_connection.js?2" type="text/javascript"></script> </head><body> <table> <tr> <td> <select id="friends_list"> <option value="">Выберите друга</option> </select> </td> <td rowspan="3"> <div id="user_info"></div> </td> </tr> <tr> <td> Сообщение:<br /> <textarea id="message_tf">https://flapps.ru</textarea> </td> </tr> <tr> <td> <a href="#" id="send_btn">Отправить</a> </td> </tr></table> <br /><br /><br /><a href="https://flapps.ru/" target="_blank">https://flapps.ru/</a></body></html>
Код: Выделить всё
body { padding:0; margin:0; font-family: tahoma, verdana, arial, sans-serif, Lucida Sans; font-size: 11px;}select,textarea { padding:0; margin:0;}table { border-collapse:0; padding:0; margin:0;}table td { vertical-align:top; font-family: tahoma, verdana, arial, sans-serif, Lucida Sans; font-size: 11px;} #message_tf { width:100%; height:50px; resize:none;}
В настройках приложения должен быть разрешен доступ к друзьям.
Исходник https://flapps.ru/example/friends_get_wall_post.rar