Сегодня я хочу поделиться небольшим, но полезным JavaScript-кодом, который автоматически добавляет изображение аватара по умолчанию для пользователей, у которых оно отсутствует. Этот скрипт может быть полезен для владельцев сайтов или форумов, где отображаются списки пользователей в таблице, и важно, чтобы у каждого была визуальная аватарка — даже если пользователь её не загрузил.

Код
<script>  
  $(document).ready(() => {  
  // Находим индекс столбца с заголовком "Аватар"  
  const avatarColumnIndex = $('.uTopTd').filter((_, el) => $(el).text().includes('Аватар')).index();  

  // Проверяем, существует ли столбец с аватарами  
  if (avatarColumnIndex !== -1) {  
  // Обрабатываем каждую строку таблицы  
  $('.uTable tr').each((_, row) => {  
  const $cell = $(row).find('.uTd').eq(avatarColumnIndex);  
  // Проверяем наличие аватара в ячейке  
  if (!$cell.find('.user_avatar').length) {  
  $cell.html(`  
  <span class="user_avatar">  
  <img alt="" src="https://htmlstart.ucoz.net/img/noAvatarComment.png" width="30" style="vertical-align: middle;">  
  </span>  
  `);  
  }  
  });  
  }  
  });  
  Разработчик by jaguar37rus, site htmlstart.ucoz.net  
  </script>


Как это работает?
Поиск столбца с аватарами: Первая строка кода ищет заголовок столбца в таблице, который содержит слово "Аватар" (элемент с классом .uTopTd). Метод .index() определяет номер этого столбца в таблице.

Проверка строк таблицы: Затем скрипт проходит по всем строкам таблицы (.uTable tr) с помощью метода .each().

Условие: Для каждой строки проверяется, есть ли в ячейке нужного столбца (определяется через .eq(apotdnum)) элемент с классом .user_avatar. Если такого элемента нет (.size() == 0), это значит, что аватар отсутствует.

Добавление аватара по умолчанию: В случае отсутствия аватара ячейка заполняется HTML-кодом, который содержит изображение по умолчанию (/img/noava.png) с заданной шириной 30 пикселей и выравниванием по центру строки.

Настройка


Дополнение скрипта от --SAM-- & Snoopak


После $BODY$ в шаблон "Страница со списком пользователей" и(или) в "Общий вид страниц форума":

Код
<?if($PAGE_ID$='userslist' || $PAGE_ID$='forumsmembers')?>  
  <script>  
  // Указать номер столбца с "Аватар"  
  var avatrnum = 1;  
  // Ваша ссылка на noAvatar  
  var noavaimg = 'https://zornet.ru/Ajaxoskrip/Forma_skriptov/zZdU4oy.jpg';  

  $('.uTd:nth-child(' + avatrnum + ')').each(function() {  
  $(this).find('img').attr('onerror', 'this.src="' + noavaimg + '"');  
  if (!$(this).children().length) {  
  $(this).html('<span class="user_avatar"><img alt="" border="0" src="' + noavaimg + '" width="30" align="absmiddle" /></span>');  
  }  
  });  
  </script><?endif?>

В моей версии обязательно нужно задать номер колонки, где выводиться Аватар.
Ссылку на изображение "Нет аватара" можно при желании поменять на свою :)
Простой скрипт для добавления аватара по умолчанию на сайте
Размер: 2.1 Kb

Комментарии

Минимальная длина комментария - 50 знаков. комментарии модерируются
-SAM- 1
-SAM-
03.10.2025, 07:08
Согласны? Да 0 Нет
Писали про именные переменные, так вот это решение было разработано Apocalypse (apo.ucoz.com). Вы его переписали через нейросеть, но в описании осталось .eq(apotdnum), а ещё в коде присутствует битая ссылка на noAvatar. Кстати, оригинальный скрипт своей работоспособности не утратил. Обсуждалось про это на ZorNet: "лечится" путем подмены одного символа в коде, поскольку в uCoz то и дело исходники переписывают - потом "отваливаются" скрипты (так и в этом случае "слетела" была привязка к индексу столбца с заглавием Аватар, что ранее было по tr, теперь стало по th). В общем, тот же самый результат на выходе в итоге. Поменяло и функцию в коде, что ранее было по .size() == 0, сделало по .length :)
jaguar37rus 2
03.10.2025, 07:54
Согласны? Да 0 Нет
Приветствую действительно я изначально выкладывал его скрипт.

писал под его скрипт а после решил его поставить к себе на сайт изначально он работал, а потом когда я менял шаблон поставил скрипт а он не работает..

и пришлось его полностью переписывать поэтому описание и оставил прежнее а скрипт переписал. Оттуда и переменные.

А по поводу noAvatar кстати я прикреплён файл Я же говорю что он стоял раньше и картинка была со старого шаблона
jaguar37rus 3
03.10.2025, 08:26
Согласны? Да 0 Нет
Спасибо за ваше версия скрипта. Добавил её статье
Snoopak 4
04.10.2025, 18:02
Согласны? Да 3 Нет
Я бы ещё добавил для изображения onerror, чтоб когда аватарка удалена из сервера или не доступна, то будет загружена заглушка.
Код
$(this).find('img').attr('onerror', 'this.src="' + noavaimg + '"');
jaguar37rus 5
05.10.2025, 05:41
Согласны? Да 0 Нет
Спасибо, Все сделано)
HTMLSTART » Скрипты UCOZ » Прочие скрипты ucoz » Простой скрипт для добавления аватара по умолчанию на сайте