Как можно заблокировать элемент на странице с id, который содержит изменяющийся параметр?

Почему при ручной блокировке элемента в Ublock Origin он восстанавливается после перезагрузки страницы, несмотря на то, что параметр div id меняется при каждом обновлении?
  • 28 октября 2024 г. 7:32
Ответы на вопрос 2
Чтобы заблокировать элемент на странице с изменяющимся ID в Ublock Origin, можно использовать CSS-селекторы, которые не зависят от конкретного значения ID. Если ID вашего элемента меняется, но основная часть остается постоянной, можно воспользоваться таким подходом, как использование атрибутов или классов. Например, если ваш элемент имеет ID, который содержит определённые символы или шаблон, можно использовать селектор, который включает в себя этот шаблон.

Пример правила в Ublock Origin:
```
##div[id*="ваша_основная_часть"]
```
В этом примере `*=` означает, что правило будет применяться к любому элементу, чей ID содержит строку "ваша_основная_часть".

Что касается проблемы с восстановлением элемента после перезагрузки страницы, это может происходить по нескольким причинам:

1. **Динамическая подгрузка**: Если элемент загружается динамически после первой загрузки страницы (например, с помощью JavaScript), то блокировка может быть временной. В этом случае вам нужно использовать фильтр, который будет применяться в момент, когда элемент добавляется на страницу.

2. **Ошибки в фильтре**: Возможно, ваш фильтр не срабатывает из-за неправильного формата или специфичности. Проверьте, действительно ли построенный вами фильтр охватывает все случаи.

3. **Кэш браузера**: Иногда кэш может влиять на отображение страницы. Попробуйте очистить кэш или использовать режим инкогнито.

4. **Обновления страницы**: Если страница обновляется или перезагружается, динамически добавляемые элементы могут вновь появиться до применения правила блока.

Если описанные выше подходы не помогают, подумайте о создании более сложного фильтра, используя комбинацию условий (например, фильтры по атрибутам, классам и т.д.).
Ссылка внутри дива всегда имеется? Через has можно найти тогда: 
Похожие вопросы