игнор сообщений определенных пользователей
Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті.
В недавнем сраче прозвучала идея:
Слушайте, есть ли способ на доу добавить чувака в какой-то лист, чтобы не видеть его постов и комментариев? Было бы неплохо.
Собственно, набросал тут.
Можно закинуть как юзерскрипт(для автоматической чистки) или как букмарклет(если хочется контроля).
Собственно, вопрос: надо ли это кому-то? Допиливать ли до состояния, когда юзеров не в коде можно будет завадать, а, скажем, кнопка «забанить пользователя с глаз моих» на странице профайла выводиться будет, а список забаненных будет и между сессиями сохраняться?
(function(usersToHide) { var getAllComments = function() {return Array.prototype.slice.call(document.querySelectorAll('.b-comment')); }, getCommentId = function(commentDiv) {return commentDiv.querySelector('[parent_id]').id.replace('comment_','')}, getChildrenComments = function(parent_ids) { return getAllComments().filter( function(comment) { return parent_ids.indexOf((comment.querySelector('[parent_id]') || {}).getAttribute('parent_id')) !== -1; }); }, commentsToHide = getAllComments().filter(function(comment) {return usersToHide.indexOf(((comment.querySelector('a.avatar') || {}).href || '').replace(/http:\/\/dou.ua\/users\/([^/]+)\//, '$1')) !== -1;}); while(commentsToHide.length) { commentsToHide.forEach(function(commentDiv) {commentDiv.style.display = 'none';}); commentsToHide = getChildrenComments(commentsToHide.map(getCommentId)); } })(['skyboyer', 'anotherusername'])
22 коментарі
Додати коментар Підписатись на коментаріВідписатись від коментарів