Универсальная Умная автоматическая подгрузка новых постов без перезагрузки страницы


Универсальная Умная автоматическая подгрузка новых постов без пер...

1531
7.8 из 10
Проголосовало: 7






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

Какие мозги прикручены:

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

Установка:

В Общем виде страниц форума после $BODY$:

Code
<img src="http://webo4ka.ru/Ucoz5/universalnaja_umnaja_avtomaticheskaja_podgruzka_no.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?>
Автор публикации: Загрузка
Загрузка
Вовчик, это его n материал
Источник: http://www.apo-ucoz.com/
  • Всего комментариев: 3

August4u
-1
August4u написал: Написано 29 Января 2012 в 12:23
Комментарий №3
чего то я не понял смысл скрипта?

Kelin
-1
Kelin написал: Написано 11 Января 2012 в 07:46
Комментарий №2
Хороший скрипт, давно искал!!!

Сай_22
0
Сай_22 написал: Написано 10 Января 2012 в 21:43
Комментарий №1
Универсальная Умная автоматическая...
И после такого начала названия эта хрень только комментарии подгружает? Я, как минимум, ожидал что она мне будет готовить жрать.

  • Оставить комментарий:
Добавлять комментарии могут только зарегистрированные пользователи.
Регистрация | Вход
Меню сайта
Категории
Для помощи создания сайта uCoz 25
Скрипты и модификации для Ucoz 2113
Шаблоны форумов Ucoz 28
Шаблоны сайтов Ucoz 431
Авторство Webo4ki 309
php скрипты для ucoz 57
Графика для uCoz 40
Мини-чат
Последние комментарии
Ох. Вижу, что обсуждение очень старое. Но!
На других CMS так же будет все это реализовано. На нормальных CMS.
Такое решение может подойти лишь для landing сайтов. Но и то, не думаю, что там кто то заморачивается в написании какого либо контроллера генерирования шаблона и используют прямо в лоб чистый HTML, поэтому и будут для каждой страницы свои блоки делать.

Поэтому лучше тут все же дописать решение именно для ucoz без загрузки этих лишних блоков на странице. Ведь используя условные операторы этот код даже не будет прогружаться на странице. (Лол. Это ж доли секунд загрузки...) И что? Но давайте делать оптимальнее
Моё авторство:)
  • 1488 написал:
  • 1488 написал:
  • Смысл исходный код? он возвращает после обновление страницы на то положение которое было... или как?
  • 1488 написал:
  • как поставить галки как скрине?
    а то невозможно поставить...
  • Handyman написал:
  • Не появляется код безопасности для обычных пользователей
    Последние темы
    Опрос
    432
    А
    Р
    Оцените новый дизай:)
    Статистика
    Анализ интернет сайта
    0
    онлайн
    0
    наших
    0
    чужих
    Онлайн всего: 5
    Гостей: 5
    Пользователей: 0
    0
    Сегодня были
    Топ пользователей: