есть блок с рекламой, а стили css динамически меняются (css запутывается / свернут) при каждой загрузке страницы, поэтому невозможно традиционно блокировать элемент из-за их случайно назначенных стилей .
просматривая инспектор в mozilla firefox, я обнаружил, что существует несколько стилей css с обычными именами, и они применяются к DIV вместе с запутанными стилями. см. снимок экрана с примером.
снимок экрана исходного сайта с открытым инспектором
Я обнаружил, что иногда пользовательские скрипты Greasemonkey более гибкие и могут использоваться для блокировки определенных элементов в сложных случаях чем ублок происхождения. Особенно с вещами AJAX и некоторыми другими случаями. Я искал много часов, здесь много пользовательских скриптов, которые скрывают элементы, но у меня все еще есть некоторые вопросы ...
Я пытался использовать этот скрипт (основываясь на результатах, найденных здесь):
// ==UserScript==
// @name Remove colomn with ads
// @match https://e.mail.ru/*
// @version 1
// @grant GM_addStyle
// @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js
// ==/UserScript==
$('.layout_right-size_60').remove();
$('.layout__column_right').remove();
Но это тоже не сработало. Я думаю, потому что эти стили "серые" и не присутствуют в исходном коде страницы, я вижу их только внутри "инспектора" Mozilla. Все стили, которые видны в исходном коде страницы, обфусцированы, а также идентификаторы элементов. Ни один из простых способов выбора элементов здесь не работает ... Но я не уверен, что причина в этом.
Если выбор по css имени стиля невозможен, возник дополнительный вопрос: как выбрать и удалить элементы (с javascript или jquery), в соответствии не только с именем класса, но и с другими параметрами? например, в соответствии с их свойствами "style":
width:240px;
padding-left: 8px;
font-size: calc(-82px + 84px + -21px + 30px);
... чтобы добавить этот выбор в мой скрипт выше и удалить те элементы, которые соответствуют выбору. Я пробовал этот код:
$('div[width="240"]').remove();
$('div[style*="width: 240px"]').remove();
, но безрезультатно. возможно, потому что эти элементы динамически добавляются все время после того, как страница уже была загружена. (только предположение) снимок экрана с кодом, показывающим свойство 240px
спасибо!
PS: я не программист, и javascript не моя специальность. Я просто пишу собственные правила происхождения для ублока и некоторые скрипты basi c greasemonkey, чтобы скрыть рекламу и надоедливые вещи на веб-сайтах, вызывать рекламу и различные всплывающие окна и т. Д. от adblocker не помогают; Мне приходится бороться с рекламой «за сайт» индивидуально. Увы.
заранее спасибо.