Здравствуйте! Не могли бы мне помочь? Как сделать автообновление аватарки в модуле Друзья? Просто при первом добавлении пользователя в друзья остаётся старый аватар, а новый просто напросто не отображается, не подскажите что нужно добавить?
Вот сам скрипт:
Code
<script type="text/javascript"> function infols() { $.get('/index/14-0-0-1', function (data) { ssid = $('input[name="ssid"]', data).val(); if ($("#secuImg", data).size() > 0) { imgsec = $("#secuImg", data).clone(); seckey = $("input[name='seckey']", data).val(); new _uWnd('cap', 'Код с картинки', 300, 80, { autosize: 0, modal: 1, oncontent: function () { $("#capImgSpan").html(imgsec); $("#capcode").focus(); } }, '<span id="capImgSpan"></span> <input type="text" id="capcode" onkeyup="name33()" maxlength="5">'); } else { $.post('/index/', { a: '18', s: '$_USERNAME$', subject: 'Уведомление', message: 'Здравствуйте! Сообщаем вам о том, что пользователь $NAME$ добавил вас в друзья. Если данный пользователь является вашим другом добавьте его в друзья, кликнув на ссылку "Добавить в друзья" под его аватаркой.', ssid: ssid }, function (e) {if($(e).text().indexOf('успешно')>-1) {_uWnd.alert("Пользователь успешно добавлен в друзья","",{w: 270,h: 40,t: 8000});}}); } }); } function name33() { code = $("#capcode").val(); if (code.length == 5) { $.post("/index", { a: '18', s: '$_USERNAME$', subject: 'Уведомление', message: 'Здравствуйте! Сообщаем вам о том, что пользователь $_NAME$ добавил вас в друзья. Если данный пользователь является вашим другом добавьте его в друзья, кликнув на ссылку <b>"Добавить в друзья"</b> под его аватаркой.', ssid: ssid, code: code, seckey: seckey }, function (re) { rTxt = $($(re).text()).text(); if(rTxt.indexOf("успеш") > -1) { setTimeout('_uWnd.close("pmsend")', 500); _uWnd.close('cap'); _uWnd.alert('Сообщение отправлено', '', { w: 225, h: 75 }); } else { if(rTxt.indexOf("код б") > -1) { $('#secuImg').click(); } else { _uWnd.close('cap'); _uWnd.alert(rTxt, 'Внимание', { w: 225, h: 75 }); } } }); $("#ucodespostmessagepm").attr({disabled: 0, value: "Отправить сообщение"}); $("#st").empty(); $("#ucodesmessagepm").empty(); } } </script>
<?if($_DIR_ENTRIES$)=0?><div style="border:1px solid #C0CCD9;background:#e9eef1;padding-top:4px;padding-bottom:4px;padding-left:7px;padding-right:7px;color:#8BA1BC;font-size: 11px;text-align:center; "><?if($_IS_OWN_PROFILE$)?>У вас пока нет друзей. Чтобы добавить друга кликните под его аватаром ссылку "Добавить в друзья" и он появится в этом списке.<?else?>У пользователя пока нет друзей.<?endif?></div><?else?> <script type="text/javascript"> $.get('/dir/0-0-$_USER_ID$-0-17 ',function(singmen){ var result = $('.friends44:first',singmen).html(); var result2 = $('.friends44:gt(0)',singmen).html(); var result3 = $('.friends44:gt(1)',singmen).html(); $('.dfriends').html(result); $('.dfriends2').html(result2); $('.dfriends3').html(result3); }) </script> <span class="dfriends"></span> <span class="dfriends2"></span> <span class="dfriends3"></span> <?endif?>
BLAzER, не запоминать аву в поле, а получать get-запросом. Но 10 друзей на странице - 10 запросов. Так же можно в виде материалов под авой сделать кнопочку "обновить", при нажатии на которую:
1. Получим запросом новую аву; 2. Произойдёт редактирование материала - в поле вставится новое значение; 3. Аватар визуально обновляется в виде материалов (сразу после нажатия, без обновления страницы).
Всё это произойдёт где-то за 1.5 секунды. В функции выполнятся 2 get и 1 post.
Могу написать такой скрипт с нуля с динамичной подгрузкой и уведомлениями об успешной загрузке / ошибке за 500 рублей
uExpert, присоединяюсь, даже я предлагал на юсайте идею: сделать кнопку обновления аватарок у всех друзей, но там побольше кода и то я планировал делать за 350-400...
uExpert, Бульбулятор, не ваше дело, если что, но это флуд... Я предлагаю сделать всё с нуля с эффектами, уведомлениями и наименьшим кол-вом запросов, что обеспечит безопасность. 100% грамотно.