#javascript #css
Вопрос:
Я хочу скрыть некоторые записи на странице форума, если они сделаны пользователями, которые мне не нравятся, и их способ сделать это-найти внешний div, который соответствует
Форум, на котором я нахожусь, подвергся нападению пользователей, которые хотят уничтожить их, заполнив нерелевантными изображениями, и модератор не может справиться с натиском.
Я хочу обойти эту проблему, отфильтровав изображения, если они исходят от определенных пользователей.
Сообщения заключены во внешний разделитель, в котором содержится имя пользователя.
div[poster-name="spam_imager"] > a.thumbnail {
visibility:hidden;
/* display: none; (an alternative) */
}
div[poster-name="spam_imager"] img.preview {
visibility:hidden;
/* display: none; (an alternative) */
}
Но он не будет масштабироваться, так как необходимо добавить много пользователей, поэтому функция должна проверить, присутствует ли значение poster-name
атрибута в списке, а затем найти дочернее изображение с preview
или дочернюю ссылку с thumbnail
классом, а затем добавить spam_image_block
в класс.
Таким образом, двух правил будет достаточно:
a.spam_image_block {
visibility:hidden;
/* display: none; (an alternative) */
}
img.spam_image_block {
visibility:hidden;
/* display: none; (an alternative) */
}
Комментарии:
1.
document.querySelectorAll('div[poster-name]').forEach(div => { if (list.includes(this.getAttribute('poster-name'))) this.querySelector('img').style.display = "none"; });
2. @ChrisG Теперь мне нужно восстановить мои старые навыки и сценарии Greasemonkey и посмотреть, как действовать дальше. Список должен быть откуда-то загружен и также обновляться. Спасибо.
3. Они, братан, я не думаю, что вы предоставляете достаточно информации, вы только что описали проблему и добавили немного CSS, который вообще не помогает ее проверять. Ваш пост почти хочет, чтобы мы сделали этот код для вас, а не просто помогли вам решить проблему, и это не бесплатно, как будто вы застряли в проблеме, и хорошо описали ее и предоставили все, чтобы помочь ее исправить. Я думаю, что этот пост следует закрыть или улучшить, чтобы получить более подробную информацию
4. @ChrisG Когда я пытаюсь это сделать, я получаю сообщение об ошибке
TypeError: this.getAttribute is not a function
5. Правильно, замените
this
наdiv
(в обоих местах)
Ответ №1:
Это требует практического решения, основанного на предотвращении загрузки пользователем определенного количества изображений, с точки зрения разрешения и запрета, я предлагаю отправить значение разрешения пользователя , чтобы оно было истинным или ложным , с основными данными при загрузке страницы в JavaScript для настройки кнопки загрузки или нет, и я не рекомендую полагаться на CSS для этого, потому что его очень легко изменить из браузера, независимо от используемого для этого метода
Комментарии:
1. ОП не поддерживает форум, они там просто пользователи.
2. По тому же принципу я думаю, что изображения и остальные компоненты, которые вы хотите предотвратить и показать, создаются из данных, поступающих из баз данных, и организованы сценарием, независимо от языка сервера, используемого в нем. Я также думаю, что вы фильтруете эти данные, прежде чем авторизовать их в этом сценарии
3. Это так, как говорит @ChrisG
4. Я думаю, что @MohamedElAzazy-бот. 3 года в stackoverflow, набрав всего 9 баллов. Мне очень жаль, но в последнее время их слишком много в Интернете.
5. Спасибо, вы правы, я действительно немного вовлечен, и я пытаюсь увеличить это, насколько могу, извините за это