NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript==
// @name VK.com hide advertisment
// @namespace derevnia
// @author vk.com/derevnia
// @description Скрывает посты с рекламой вконтакте и блоки рекламы (vkontakte) (without jquery)
// @version 3.1
// @include *://vk.com/*
// @updateURL https://openuserjs.org/install/derevnia/VK.com_hide_advertisment.user.js
// @downloadURL https://openuserjs.org/install/derevnia/VK.com_hide_advertisment.user.js
// @grant none
// ==/UserScript==
window.onload = function () {
//console.debug()
function getCookie(cday) {// получение cookie
var matches = document.cookie.match(new RegExp(
"(?:^|; )" + cday.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
));
return matches ? decodeURIComponent(matches[1]) : undefined;
}
var count_day_var = getCookie('cday');
var count_d = parseInt(count_day_var, 10);// сбой cookie
var count = 0;
var count_regexp = "<br>";
function delCookie(name) {// удаление cookie
document.cookie = name + "=" + "; expires=Thu, 01 Jan 1970 00:00:01 GMT";
}
function setCookie(cday) {// установка cookie
now = new Date();
var date = new Date(now.getFullYear(), now.getMonth(), now.getDate(), 23, 59, 59);
document.cookie = "cday=" + escape(cday) + "; expires=" + date.toUTCString();
}
if (count_day_var === undefined || isNaN(count_d) === true) {// сбой cookie
delCookie('cday');
setCookie('0');
count_day_var=0; // del при отладке
}
document.getElementById("stl_bg")
.innerHTML += "<br /><div style='display:inline;padding:0 10px;font-weight:bold;color:#45688e'>Now: <div id='count_ad' style='display:inline'>" + count + "</div></div><br /><div style='display:inline;padding:0 10px;font-weight:bold;color:#45688e'>Today: <div id='count_ad_today' style='display:inline'>" + count_day_var + "</div></div><br /><div id='count_ad_stop' style='display:inline;padding:0 10px;font-weight:bold;color:#f00'></div><div id='count_regexp' style='display:inline;padding:0 10px;font-weight:bold;color:#f00'>" + count_regexp + "</div>";
var li = document.getElementsByClassName('wall_text');
var patt = new RegExp('Подробнее в группе|Подписалась на|traffictransferpro|rolhathep|Убедись сам|Оставь заявку|Играть - |Начать играть|Играть <a href|Подробнее здесь|Подробнее на|найдете в группе|Тогда тебе сюда|только здесь:|магазин:|Сделайте ставку|Вулкан Ставк|правила акции|при покупке|Покупай тут|Дарим купон|Перейти в каталог|перейдите по ссылке|Качайте по ссылке|оригинальный дизайн|Смотри ответ|Просмотреть каталог|невероятным ценам|получите скидку|Регистрация|Зарегистрироваться|Купить выгодно|Прими участие|Хoчешь тaк же|Узнайте здесь|Узнать можно здесь|Стать частью легенды:|получи скидку|Узнайте больше|пepeйди по этoй cсылке|Начни игру|Выбить ИГРУ|Присоединяйтесь|пройти тест|Online-магазин|Наш магазин|Интернет-магазин|скидка -|Нажмите и получите|wargaming|blackdesert|World Of Tanks|Доступные цены|цены:|Доставка по всей России|Оплата при получении|#TuborgColors|iqOption|iq Option|способ заработка|распродажа|принять участие|Успей купить|Купить -|заходи на сайт|Наш сайт|Посетите наш сайт|Узнать подробности|Читать подробнее|подробности на|конца акции:|Подробности в офисе|Подробности акции|Купить по акции|Акция:|АКЦИЯ!|Baellery|жмите на ссылку|Жми сюда|Скорее ЖМИ|#этомощно|Успей приобрести|бизнес за 1 день|Перейдите по этой ссылке|ОНЛАЙН-БИЗНЕС|Детектив 0|ДИСТАНЦИОННОЕ ОБРАЗОВАНИЕ|Не стесняйтесь делиться!|Рекомендуемые сообщества|Рекомендуем подписаться|LUXURY-KEYS|MBA|Bailini|Ночной чат|Орленок|Xzibit|Fonepad|forex|Счастьe-xренастье|Ёлки-хуёлки|Маленькие ёлочки|TRICOVEL|VHS Video|КВАРТИРНЫЙ ВОПРОС|gettaxi|БЕСПЛАТН|mdkthegreat|Регистрируйся|Регистрируйтесь|зарегестрируйтесь|зарегистрируйтесь|получай призы|OlympTrade|скидки|продолжение читайте в источнике|конкурс|Че там делаете?|подписывайтесь|подписывайся|Подпишись|Консультация и заказ|Закажи|ЗАКАЖИТЕ|ЗАКАЗАТЬ|БЕЗ ПРЕДОПЛАТЫ|Calvin Klein|Ray Ban|Мурзилка|КСБ-55|Рекламная запись|Заказывай со скидкой|Заказывать здесь|АНТИКРИЗИСНАЯ ЦЕНА|Заказывайте сейчас|Оформить заказ|Оформи заказ|Для заказа|заказать без предоплаты|Подпишись на |ссылка в ВК|telegram.me|greatshot1|bestmafia|GreenGuard|mega-wallet|activizmru|42HK2m|4z3YHM|3Wvv1X|unicredit|sustav.zv-spb|style1225|thesmolny|3XUlLT|tvoisotki|everest-capital|wmestocard|mfs-shop|pJKF6.i|memorypoets|17479367|tube-partner|vk_interior|2GuwlL|3IaMLh|6FsTno|3VKeHK|3DrKiZ|gooduev|ZamshaWallet|inkognitoclub|rukodelnica_shema_vishivki|id297194314|whitelightpro|sprashlvai.ru|Скучно на парах?|Заходи на|Скачай игру:|Скачать и играть|Для Android|Для iOS|Только для Android|Установить на Android|Установить на iOS|Скачать на iOS|Скачать на Android|Пoсмотреть пoлнoстью|Читать полностью|Читать далее|Читать продолжение|продолжение читайте|ПРОДОЛЖЕНИЕ В ИСТОЧНИКЕ', 'i');
var count_ad = document.getElementById("count_ad");
var count_ad_today = document.getElementById("count_ad_today");
var count_ad_stop = document.getElementById("count_ad_stop");
var clickEvent = new MouseEvent("click");
// Скрытие статичных блоков
if (document.getElementById("feed_recommends")) {
document.getElementById("feed_recommends")
.setAttribute("style", "display: none;");
}
if (document.getElementById("posthashtag_recoms")) {
document.getElementById("posthashtag_recoms")
.setAttribute("style", "display: none;");
}
// end блоков
function feed() {
// Скрытие динамических блоков
if (document.getElementById("left_ads")) {
document.getElementById("left_ads")
.setAttribute("style", "display: none;");
}
if (document.getElementById("feed_rows").getElementsByClassName("ads_ads_news_wrap")[0] !== undefined) {
document.getElementById("feed_rows").getElementsByClassName("ads_ads_news_wrap")[0]
.setAttribute("style", "display: none;");
}
// end блоков
if (window.location.pathname == "/feed" || window.location.pathname == "/al_feed.php") {
var refresh = document.getElementById("feed_new_posts");
if (refresh.getAttribute('style') != 'display: none' && refresh.getAttribute('style') != 'display: none;'/* && document.getElementById("head_play_btn")
.classList.contains('playing') !== true */&& document.getElementsByClassName("page_video_inline_wrap")
.length === 0 && document.getElementById("top_audio_player")) {
refresh.dispatchEvent(clickEvent);
} else {
if (document.getElementsByClassName("page_video_inline_wrap")
.length !== 0) {
count_ad_stop
.innerHTML = "Перезагрузить!";
} else {
count_ad_stop
.innerHTML = "";
}
}
for (var i = 0; i < li.length; i++) {
var myArray;
if (myArray=li[i].innerHTML.match(patt) !== null) {
if (li[i].getAttribute('d') != 'true') {
li[i].setAttribute('d', 'true');
li[i].parentNode.parentNode.parentNode.setAttribute('style', 'display: none;');
if (document.location.host == 'new.vk.com'){
li[i].parentNode.parentNode.parentNode.querySelector("div.post_header>div.post_header_info>div.ui_actions_menu_wrap>div.ui_actions_menu>a.ui_actions_menu_item")
.dispatchEvent(clickEvent);
}else{
li[i].parentNode.querySelector("div.post_actions_wrap>div.post_actions>div")
.dispatchEvent(clickEvent);
}
document.getElementById("count_regexp").innerHTML += li[i].innerHTML.match(patt)[0]+"<br>";
console.debug(li[i].innerHTML.match(patt)[0]);
count++;
count_day_var = parseInt(getCookie('cday'), 10) + 1;
delCookie('cday');
setCookie(count_day_var);
}
}
}
// обновление счетчиков
count_ad
.innerHTML = count;
count_ad_today
.innerHTML = count_day_var;
// end обновление
return count;
}
}
//eventListener new posts
function eventListenerNewPosts(){
var trigger = document.querySelector( '#feed_new_posts' );
var observer = new MutationObserver( function( mutations ){
mutations.forEach( function( mutation ){
if( mutation.attributeName === 'style' && window.getComputedStyle( trigger ).getPropertyValue( 'display' ) !== 'none'){
document.getElementById("feed_new_posts").dispatchEvent(clickEvent);
}
});
});
observer.observe( trigger, { attributes: true } );
}
//eventListener new posts with scroll
document.getElementById("feed_rows").addEventListener('DOMNodeInserted', function () {
feed();
}, false);
eventListenerNewPosts();
feed();
}