Clear the ads and add a toggle button to hide/show bottom bar and side bars.
// ==UserScript==
// @name Weibo Lite (无干扰新浪微博)
// @namespace https://github.com/adelabs
// @description Clear the ads and add a toggle button to hide/show bottom bar and side bars.
// @version 2.1.1
// @license GPL version 3
// @include *://weibo.com/*
// @require http://cdnjs.cloudflare.com/ajax/libs/jquery/1.8.3/jquery.min.js
// @grant none
// @run-at document-end
// ==/UserScript==
// Add a button.
var button = $('<button></button>');
$('div.W_main_a').before(button.hide());
// Function the button.
var speed = 250;
button.text('hide').click(function(){
var bars = $('div.W_main_l, div.W_main_r, div.global_footer');
if (button.text() == 'hide') {
bars.hide(speed, function(){button.text('show');});
} else {
bars.fadeIn(speed, function(){button.text('hide');});
}
});
// Show the button and then toggle.
button.show(speed, function(){button.click();});
// Hide ads.
function hide_ads() {
console.log('hide_ads');
var ads = $([
// Tips
'div.layer_tips_version',
// Header ads
'div.pl_content_biztips',
'div.tips_wrapper',
'div.tips_player',
'div.title_area',
// Left side ads
// Right side ads
'div.adver_contB',
'div#pl_rightmod_ads36',
'div.M_activities',
'div.M_abverArea',
// Mid ads
'div.W_no_border',
'div.WB_feed_type[feedtype="ad"]',
// Footer ads
'div.footer_adv',
].join());
ads.each(function(){
if ($(this).css('display') == 'none') { return; }
console.log('Hide', this);
$(this).remove();
});
}
// Observe and repeat
$([
'body',
'div.W_miniblog',
'div.WB_feed',
].join()).each(function(i, o){
var observer = new MutationObserver(function(mutations) {
hide_ads();
});
observer.observe(o, {childList: true});
});