Не так давно в жж появились спонсируемые аккаунты - вид аккаунтов с расширенными возможностями, за которые приходится платить наличием рекламы на страницах журнала. Её (довольно большое поле справа (а в маленьких окнах - так оно вообще может оттеснять весь журнал вниз) и полоска в самом низу) видят все, открывающие такой жж, кроме тех, у кого самого платный аккаунт.
Так вот, как только появилась предварительная информация о таком нововведении, я с уверенностью заявил, что браузер Опера без проблем её заблочит. Я оказался прав. С этим вполне справляется вот этот скрипт, но после него остаётся гадкое серое поле на месте бывшей рекламы.
Специально чтобы убить рекламу бесследно, мной был написан следующий скрипт:
function hideLjAds() {
var allTags=document.body.getElementsByTagNa
for(var i=0;i<allTags.length;i++) {
if(allTags[i].className.indexOf('ljad')!
allTags[i].parentNode.removeChild(allTag
hidden++;
}
if(allTags[i].width=='20%' && allTags[i].align=='right' && allTags[i].vAlign=='top') {
allTags[i].parentNode.removeChild(allTag
hidden++;
}
if(hidden==2) clearInterval(hideInt);
}
var advIframe=document.getElementById('linku
if(advIframe) advIframe.setAttribute('style','display:n
//var advIframe=document.getElementById('linku
//if(advIframe) advIframe.setAttribute('style','display:n
}
var hidden=0;
var hideInt = setInterval(hideLjAds,500);
window.addEventListener("load",function(
if(hideInt) {clearInterval(hideInt);}
//if(hidden) alert("No more ads in this lj! Thank you, hithere1.");
},false);
}
Устанавливается в Опере 8 или 9 как userjs (вот тут написано, как, правда, на английском). Он успешно борется со всей рекламой. Естественно, не тестил для всех возможных стилей, но где пробовал - везде работает.
Замечены некоторые недочёты.
1. Иногда, после скрытия рекламы справа, сам журнал не сдвигается туда, просто остаётся пустое место. Как исправить - не знаю, возможно, это специфика моей версии Оперы (8.50).
2. Порой вместо полоски внизу остаётся маленький квадратик. Починить можно, наверное, но мне лень париться - того не стоит.
В дальнейшем буду модифицировать скрипт. Сам переходить на платный аккаунт пока не собираюсь. Ещё раз напомню: чтобы использовать этот скрипт, необходим браузер Опера (http://www.opera.com).
Вопросы, предложения, сообщения об ошибках - милости просим.
upd
1. Добавлены две строки для блокирования верхней панельки. Если надо использовать - разкомментируйте (удалить // в начале).
2. Закомментировал alert (выскакивающее окошко с сообщением, что реклама удалена). Если надо - опять же можно разкомментировать.
3. Чтобы скрипт меньше грузил комп, изменено значение в setInterval со 100 до 500 миллисекунд. Актуально, когда открыто много страниц жж. Если параллельно используется упомянутый hide-objects, то, чтобы реклама блокировалась моим скриптом, в hide-objects надо поставить интервал больший, например, 1000 мс (по дефолту - 200).