不是針對本站,而是針對巴哈和 fandom
透明化右邊的廣告 (巴哈)
這樣上班就能正大光明的划水了
// ==UserScript==
// @name 巴哈廣告芳香劑
// @namespace https://www.plurk.com/SpyMomiji
// @version 0.3
// @description 那些廣告真的很礙眼
// @author SpyMomiji
// @match https://forum.gamer.com.tw/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=gamer.com.tw
// @grant none
// @run-at document-start
// ==/UserScript==
(async function(){
await (new Promise(function(a){
var iv;
function dr(){
if(document.readyState == 'complete'){
clearInterval(iv);
a(1);
}
}
if(dr()) a(1)
else iv = setInterval(dr,10);
}))
var st = document.createElement('style');
st.innerHTML = 'html .fuckAD { opacity: 0; } html .fuckAD_cover { width: 100%; height: 100%; position: absolute; top: 0;}';
document.head.append(st);
var checked = new Set();
var interval;
function fetchIframe(){
var bs = document.getElementById('BH-slave');
if(!bs){
clearInterval(interval);
throw new Error('"#BH-slave" not found');
}
Array.from(bs.getElementsByTagName('iframe'))
.filter( f =>{
if(checked.has(f)) return false;
checked.add(f); return true;
})
.filter( f => f.id.match(/^google_ads_iframe_\/\d+\//) )
.forEach( f =>{
var cs = new Set(f.className.split(/ +/g).filter(_=>_));
cs.add('fuckAD');
f.className = Array.from(cs).join(' ');
var cover = document.createElement('div');
cover.className = 'fuckAD_cover'
f.after(cover);
})
}
var stopTime = new Date().getTime() + 5000;
function intervalFunc(){
if( new Date().getTime() > stopTime ) clearInterval(interval);
fetchIframe();
}
intervalFunc();
interval = setInterval(intervalFunc,100);
})()
去除每次都會出現會站掉半個頁面的該死廣告 (fandom)
// ==UserScript==
// @name fandom 的廣告真的很煩
// @namespace https://www.plurk.com/SpyMomiji
// @version 0.2
// @description 那些廣告真的很礙眼
// @author SpyMomiji
// @match https://*.fandom.com/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=fandom.com
// @grant none
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
(async function(){
await (new Promise(function(a){
var iv;
function dr(){
if(document.readyState == 'complete'){
clearInterval(iv);
a(1);
}
}
if(dr()) a(1)
else iv = setInterval(dr,10);
}))
var st = document.createElement('style');
st.innerHTML = 'html div#top_leaderboard { display: none; }';
document.head.append(st);
})()
})();