DeViantHack

Blocking ads and popup on Deviantart

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name     DeViantHack
// @namespace deviantHack_1764648480613
// @version  1
// @grant    none
// @author 	 LuaMaria (GreasyFork Version)
// @include	 *://www.deviantart*
// @description Blocking ads and popup on Deviantart
// @run-at 	 document-end
// @icon			https://st.deviantart.net/eclipse/icons/da_favicon_v2.ico
// @license   GNU General Public License v3.0
// ==/UserScript==

const w = window;
const d = document;
const this_url = w.location.href;
const this_hostname = w.location.hostname;
const url_path = w.location.pathname;
const body = d.body;

function id(str){
 	return d.getElementById(str); 
}

function s(str){
	return d.querySelector(str);  
}

function sa(str){
	return d.querySelectorAll(str);  
}

//body.style.visibility = 'hidden';

//timeout
setTimeout( () => {
  
  //body.style.visibility = 'visible';
	const ad_pp = s('dialog');
	console.log('ads_banner:', ad_pp);
  ad_pp.close();
  s('button[aria-label="Close"]').click();
  
  //replace links
	const banner = sa('a[href]');
  banner.forEach( link => {
  	//console.log(link.href);
    if( link.href.includes('core') ){
     	link.setAttribute('style', "display: none;"); 
    }
  });
  
  //replace images
  const img_banner = sa('img[alt="Banner"]');
  img_banner.forEach( img => {
  	img.style.display = 'none';
  });
  
  //replace aside
  const img_aside = sa('aside');
  img_aside.forEach( as => {
  	as.style.display = 'none';
  });
  

//end_timeout
}, 1000);


function blast_root(){
  const evil = sa('iframe[scrolling="no"]');  
  evil.forEach( i => {
 		console.log('root:', i );
  	const limbo = "https://media.tenor.com/e71bz32B3AcAAAAi/cute-cats.gif";
  	i.src = limbo;
  });
                     
}
                     
                     
const root_ad = setTimeout(blast_root, 2000);
const root_ad1 = setTimeout(blast_root, 3000);
const root_ad2 = setTimeout(blast_root, 7000);


const targetNode = document.body;


const callback = function(mutationsList) {
  mutationsList.forEach(mutation => {
    if (mutation.type === 'childList') {
      console.warn('Body content has changed!', mutation);
    }else{
     console.log(mutation); 
    }
  });
};


//alert('Done');