Главная » Файлы » Скрипты для 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
Категория: Новости сайта | Добавил: Apocalypse | Теги: уведомлением, Apocalypse, новых, by, проверка, AJAX, комментариев, новостях, сайта, окне
Просмотров: 511 | Загрузок: 0 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email: