Лично мне не понравилась новая функция статистики, которую запустил Твиттер, поэтому я создал скрипт на JavaScript для удаления этих значков и новой информации, которая появляется на моей временной шкале. Таким образом, я могу использовать Twitter по своему усмотрению.
Чтобы запустить скрипт, я выбрал все блоки статистики на странице Twitter, используя простую строку JavaScript:
let views = document.querySelectorAll('[aria-label*="Exibir estatísticas do Tweet"]');
Это извлекает массив всех div, у которых есть aria-label
, указывающий статистику Twitter. После этого я использую цикл forEach
для перебора массива и удаления элементов HTML из HTML. И теперь скрипт выглядит так:
let views = document.querySelectorAll('[aria-label*="Exibir estatísticas do Tweet"]'); views.forEach((view) => { view.parentElement.remove(); });
Этот код уже работает, но он не ловит все вновь загруженные твиты. Чтобы сделать это функциональным, давайте создадим новый экземпляр объекта Mutation Observer и установим его в переменную наблюдателя. Этот наблюдатель будет предназначен для отслеживания изменений в элементе body и его дочерних элементах. Наблюдатель будет настроен на вызов метода forEach всякий раз, когда в теле происходит мутация. Мы заставим его ловить все новые твиты, когда они загружаются.
Метод forEach выполняет итерацию по добавленным узлам каждой мутации и использует метод querySelectorAll для выбора любых элементов с атрибутом aria-label, содержащим текст «Exibir estatísticas do Tweet». Затем эти элементы удаляются путем вызова метода parentElement.remove(). В моей первой попытке сделать это я использовал только метод remove(), но CSS не подходил, потому что над блоком div, на который я ориентировался, был родительский элемент HTML. Итак, я использовал родительский элемент div, и он работал хорошо.
Наконец, я настраиваю наблюдателя для наблюдения за элементом тела, вызывая методObserve() для наблюдателя и передавая переменную тела и объект параметров в качестве аргументов. Объект параметров указывает, что наблюдатель должен наблюдать за изменениями в дочернем списке и поддереве.
Окончательный код выглядит так:
let body = document.body; let views = document.querySelectorAll('[aria-label*="Exibir estatísticas do Tweet"]'); views.forEach((view) => { view.parentElement.remove(); }); let observer = new MutationObserver((mutations) => { mutations.forEach((mutation) => { let addedNodes = mutation.addedNodes; for (let i = 0; i < addedNodes.length; i++) { let node = addedNodes[i]; let views = node.querySelectorAll('[aria-label*="Exibir estatísticas do Tweet"]'); views.forEach((view) => view.parentElement.remove()); } }); }); observer.observe(body, { childList: true, subtree: true });
Чтобы этот код работал в вашем регионе, вы должны изменить «aria-label» на ярлык, который отображается в вашем регионе. Вы можете просмотреть это в инспекторе вашего браузера.
Спасибо за чтение этого! Надеюсь, вы нашли это крутым! Если у вас есть какие-либо вопросы или отзывы, пожалуйста, не стесняйтесь обращаться к нам!