Главная » Файлы » Скрипты для uCoz » Скрипты by Apocalypse

Универсальная Умная автоматическая подгрузка новых постов без перезагрузки страницы by Apocalypse для uCoz
24.06.14, 09:20:19

Скачать файл






Скрипт разработан по просьбе пользователя DarkPROF

Основной задачей скрипта была подгрузка новых сообщений в теме, в которой в данный момент находится пользователь

Я потратил чуть более трёх часов, чтобы довести код до совершенства, дабы он мог работать на любых форумах системы uCoz и в любых темах

Какие мозги прикручены:
1) На какой бы странице темы вы не находились - скрипт всегда будет проверять именно последнюю страницу
2) Скрипт понимает, когда сообщение оставляете именно вы
3) Даже если один пользователь оставил два разных сообщения или отредактировал старое - скрипт это поймёт и уведомит вас
4) Даже если два разных пользователя напишут два одинаковых сообщения - скрипт и это поймёт
5) Если новое сообщение оставлено на новой странице, даже в этом случае скрипт подгрузит именно сообщение с новой страницы и запомнит, что это уже новая страница
6) После подгрузки новых сообщений скрипт сам прокрутит страницу до самого низа
7) Скрипт использует минимум гет запросов - 1 при заходе на страницу и 1 каждые 25 секунд для проверки всех параметров. Третий гет запрос выполняется очень редко, в случаях, если новое сообщение оставлено на новой странице

Установка:

В Общем виде страниц форума после $BODY$:
Код
<img src="/images/apoL.gif" id="apoL" style="position:fixed;z-index:100;top:50%;margin-top:-10px;left:50%;margin-left:-80px;opacity:0;" />

  <?if($PAGE_ID$='threadpage')?>
  <script>
// Умная подгрузка постов by Apocalypse
var apo1 = window.location.href;
var apos = $('.numPages:first').text();
var apos0 = apos.length;
var apo2 = apo1.length;
var apo3 = apo1.substr(0, apo2-apos0);
var apous; // Глобальная переменная пользователя, последнего оставившего сообщение
var apotxt; // Глобальная переменная текста последнего сообщения
$.get(apo3+apos, function(apo0) {
apous = $('.postUser:last', apo0).text();
apotxt = $('.posttdMessage:last', apo0).text();
});
setInterval(function() {
$.get(apo3+apos, function(apo) {
var aposwitch = $('.switchDigit:last', apo).attr('href');
var apous2 = $('.postUser:last', apo).text();
var apotxt2 = $('.posttdMessage:last', apo).text();
if(apous2!='$USERNAME$' && apotxt!=apotxt2 || apous2!='$USERNAME$' && apous!=apous2) {
$('#apoL').stop().fadeTo(500, 1);
$('.gTable').stop().fadeTo(500, 0.3);
apous=$('.postUser:last', apo).text();
apotxt=$('.posttdMessage:last', apo).text();
apos = $('.numPages:first', apo).text();
if(apos!=$('.numPages:first', apo).text()) {
$('.gTable').load(aposwitch+' .gTable', function() {
$('#apoL').stop().fadeTo(500, 0);
$('.gTable').stop().fadeTo(500, 1);
$('body').animate({scrollTop: 15000}, 500);  
_uWnd.alert('Подгружено со страницы '+$('.numPages:first', apo).text()+' от <b>'+apous2+'</b>', '', {w:200, h:60});
});
} else {
$('.gTable:first').html($('.gTable:first', apo));
setTimeout(function() {
$('#apoL').stop().fadeTo(500, 0);
$('.gTable').stop().fadeTo(500, 1);
$('body').animate({scrollTop: 15000}, 500);  
}, 1000);
_uWnd.alert('Подгружено со страницы '+apos+' от <b>'+apous2+'</b>', '', {w:200, h:60});
};
};
});
}, 25000);
//apo-ucoz.com (c) 2012
  </script>
  <?endif?>


Картинку из прикреплённого архива залейте в папку images

Материал разработан и подготовлен Apocalypse

Категория: Скрипты by Apocalypse | Добавил: Apocalypse | Теги: новых, Подгрузка, by, перезагрузки, Без, постов, автоматическая, умная, страницы, универсальная
Просмотров: 433 | Загрузок: 0 | Рейтинг: 1.0/1
Всего комментариев: 0
Имя *:
Email: