Главная » Файлы » Скрипты для uCoz » Новости сайта |
Проверка новых комментариев в Новостях Сайта с уведомлением в ajax окне by Apocalypse для uCoz
24.06.14, 09:22:01 | |
![]() ![]() Около полумесяца тому назад в обратную связь поступила просьба о разработке этого скрипта. При попытке реализации я потерпел неудачу. Сегодня проснулся в 6 утра (Просто бессонница) и решил повторить попытку. Как вы можете догадаться, я всё-таки сумел реализовать задумку Скрипт даёт возможность в любой момент проверить, есть ли новые комментарии в модуле Новости сайта. Если новые комментарии появились - информация о них будет отображена в new _uWnd() окне. Как только вы закроете окна - скрипт запомнит, что вы просмотрели эти уведомления и больше их не выдаст. При клике по ссылке рядом появится удобный индикатор, который покажет, был выполнен запрос или нет Пришлось призвать на помощь куки, так как скрипт должен помнить, уведомления о каких комментариях пользователь уже видел. В противном случае скрипт был бы просто бесполезен ВНИМАНИЕ! Вы должны помнить, что у информера есть своё время кеширования в 10-15 минут, так что мгновенно получать уведомления о только что поступивших комментариях не получится (Спасибо скажем системе uCoz...) Установка: 1) Создадим информер следующего типа: [ Комментарии · Материалы · Дата добавления материала D · Материалы: 5 · Колонки: 1 ] В шаблоне информера замените всё на: Код <div id="$USERNAME$" class="apocom" title="$TIME$" apo="$ENTRY_TITLE$" apotxt="$ENTRY_TITLE$">$MESSAGE$</div> Запомните номер информера. У меня это $MYINF_1$. Если у вас другой номер - замените его во всех кодах ниже 2) На персональную страницу пользователя: Код <span id="apoinf" style="display:none;">$MYINF_1$</span> 3) В то место, где будет ссылка на проверку новых комментариев: Код <a href="javascript://" onclick="apotest();">Проверить</a> <img src="http://s36.ucoz.net/img/fr/ajax3.gif" id="myajapo" height="12px" style="display:none;vertical-align:-2px;"> <div id="infer2"></div> <script src="/js/cookie.js"></script> <script> // Уведомлялка о новых комментариях by Apocalypse var aponewin; var apoin = '$MYINF_1$'; if(getCookie('apoinf')) { aponewin = getCookie('apoinf'); if(aponewin!=apoin) { eraseCookie('apoinf'); setCookie('apoinf', apoin, 365); }; } else { setCookie('apoinf', apoin, 365); }; function apotest() { $('#myajapo').fadeIn(500); $('#infer2').load('/index/8-1 #apoinf', function() { $('#myajapo').fadeOut(500); $('.apocom').each(function() { if(aponewin.indexOf($(this).text())!=-1) {} else { new _uWnd($(this).attr('title'), ' Новый комментарий от '+$(this).attr('id'), 300, 120, {align:'left',autosize:0, icon:'http://s36.ucoz.net/.s/img/icon/si.png', fadetype:2, fadeclosetype:2, fadespeed:300, closeonesc:1, onclose:function() {aponewin = $('#infer2').html();}}, 'Новый комментарий: <b>'+$(this).text()+'</b><hr>Материал: <b>'+$(this).attr('apo')+'</b><hr>Время: <b>'+$(this).attr('title')+'</b>'); }; }); }); }; // apo-ucoz.com (c) 2012 </script> ВНИМАНИЕ! После установки скрипта при первом обновлении страницы данные заносятся в куки, так что корректно скрипт начнёт работать лишь после второго обновления страницы Осталось лишь залить скрипт из прикреплённого архива в папку js Материал разработан и подготовлен Apocalypse | |
Просмотров: 546 | Загрузок: 0 | |
Всего комментариев: 0 | |
| |