Главная » Файлы » Скрипты для 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 | |
Просмотров: 573 | Загрузок: 0 | |
Всего комментариев: 0 | |
| |