← Все примеры

JavaScript Разработка и QA reddit.com

Reddit: вывести компоненты shadow DOM

Выводит в консоль все пользовательские элементы Reddit и отмечает те, у которых есть shadow root.

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

// List custom elements that expose a shadow root, useful for writing selectors
function reportShadowRoots() {
  const seen = {};
  document.querySelectorAll('*').forEach(function (el) {
    const tag = el.tagName.toLowerCase();
    if (tag.indexOf('-') === -1) { return; }
    if (seen[tag]) { return; }
    seen[tag] = true;
    if (el.shadowRoot) {
      console.log('[jz] shadow root on <' + tag + '>', el.shadowRoot);
    } else {
      console.log('[jz] light-DOM custom element <' + tag + '>');
    }
  });
  console.log('[jz] ' + Object.keys(seen).length + ' distinct custom elements found');
}
reportShadowRoots();

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

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

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

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

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

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

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

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