Страница 1 из 11
Форум » Всё для uCoz » Скрипты от All-Cspro.Ru » Уведомление о новых и непрочитанных личных сообщениях (в ajax окне для uCoz)
Уведомление о новых и непрочитанных личных сообщениях
-SAM- - Offline
Дата: Четверг, 05.02.2015, 02:25 | Сообщение # 1
Нет аватара
⇚ Stand Alone Man ⇛
Сообщения: 165
Основное назначение данного скрипта - проверять через заданный интервал времени (в миллисекундах) не пришли ли вам новые личные сообщения, а если же таковые были вам отправлены - выводиться окно на аякс, в котором указано количество присланных вам сообщений, а также указаны их темы (сообщения выводятся в порядке от более нового к более старому).

Выглядит это примерно следующим образом:


Как мы видим, скрипт в достаточно удобной форме оповещает вас о полученных письмах от пользователей. Более того, я чуть переписал скрипт, чтобы при нажатии на новое сообщение ссылка не уводила нас на другую страницу с сообщением, а открывалось отдельное окно для него (чего не было в оригинале от javascript.ucoz.net - авторы данного скрипта). Также мной был составлен правильный условный оператор для скрипта - теперь уведомление выводиться даже если выйти со своего аккаунта на сайте (разлогиниться), а после вновь на него зайти (осуществляется проверка о непрочитанных, а не только о новых личных сообщениях).

Код скрипта:
Код
<?if($USER_LOGGED_IN$ and $IS_NEW_PM$ || $UNREAD_PM$)?><!--Новые ЛС в Ajax-->
<script type="text/javascript">
function tMess(n){var a=[' новое сообщение',' новых сообщения',' новых сообщений'];return a[n%10==1&&n%100!=11?0:n%10>=2&&n%10<=4&&(n%100<10||n%100>=20)?1:2]}; function getPM(){$.get("/index/14",function(a){var s=$("b.unread",a).size();if (s) {var n=tMess(s),all=[],leg=(s==1)?'Сообщение':'Сообщения';$("b.unread",a).each(function(){var title = $(this).html(), href = $(this).parent().attr("href"); all.push('» <a href="javascript://" onclick="window.open(\''+href+'\',\'pmw\',\'scrollbars=1,top=0,left=0,resizable=1,width=680,height=350\');return false;">'+title+'</a>');}); new _uWnd('ls','Новые ЛС',250,120,{icon:'http://all-cspro.ru/images/message.png',align:'left'},'<center>Вам пришло '+s+n+'!</center><br /><fieldset><legend>'+leg+'</legend>'+all.join("<br />")+'</fieldset>');}});setTimeout(getPM,120000)};getPM();
</script>
<!--/Новые ЛС в Ajax--><?endif?>

Установка более чем проста: лучше всего данный скрипт прописать в какой-то из глобальных блоков сайта, нежели во все страницы сайта, например, в нижнюю или верхнюю часть сайта. Лично я прописал в верхнюю часть сайта, так как она быстрее всего загружается - не нужно ждать полного окончания загрузки страницы, чтобы сразу окно Ajax с уведомлением о новых ЛC выводило, когда приходят эти персональные сообщения.


Прикрепления: 7000515.png(27Kb)

Админ - существо кроткое, пока не разозлить...٩(̾●̮̮̃̾•̃̾)۶
Форум » Всё для uCoz » Скрипты от All-Cspro.Ru » Уведомление о новых и непрочитанных личных сообщениях (в ajax окне для uCoz)
Страница 1 из 11
Поиск:
Администрация проекта не несет ответственности за публикуемые материалы.
Дизайн полностью принадлежит "All-CsPro.Ru".
Дизайн сайта разработал life_man, сверстал sp1nn15.
Копирование материалов с сайта без разрешения запрещено. © 2011-2017 Хостинг от uCoz.