← Все примеры

JavaScript Чтение и фокус ebay.com

eBay: подсветить искомые слова в результатах

Подсвечивает жёлтым введённые ключевые слова в заголовках объявлений для лёгкого поиска совпадений.

Код для копирования

// Highlight the searched keywords inside result titles
function highlightKeywords() {
  const term = new URL(window.location.href).searchParams.get('_nkw');
  if (!term) { return; }
  const words = term.toLowerCase().split(/\s+/).filter(function (w) { return w.length > 2; });
  if (!words.length) { return; }
  document.querySelectorAll('.srp-results .s-item__title:not([data-jz-hl])').forEach(function (el) {
    el.setAttribute('data-jz-hl', '1');
    let html = el.innerHTML;
    words.forEach(function (w) {
      const re = new RegExp('(' + w.replace(/[.*+?^${}()|[\]\\]/g, '\\$&') + ')', 'gi');
      html = html.replace(re, '<mark style="background:#fff176">$1</mark>');
    });
    el.innerHTML = html;
  });
}
highlightKeywords();
const obs = new MutationObserver(highlightKeywords);
obs.observe(document.documentElement, { childList: true, subtree: true });

Как использовать этот пример

  1. Скопируй код кнопкой выше.
  2. Установи JustZix (2 минуты) и открой расширение на нужной странице.
  3. Добавь новое правило, совпадающее с этой страницей.
  4. Вставь код в панель JavaScript правила и сохрани — он запускается при каждом заходе на страницу.

Оцени этот пример

Оценок пока нет — оцени первым.

Этот пример работает?

Сниппеты бесполезны, если их некуда вставить.

JustZix устанавливается за 2 минуты и запускает твой код на каждой подходящей странице. Без аккаунта, без оплаты.

Скачать бесплатно Смотреть применение