Remove inoreader ADS

Remove inoreader.com's advertisement in reading list, upgrae button and some annoying dialogs.

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

// ==UserScript==
// @name Remove inoreader ADS
// @description Remove inoreader.com's advertisement in reading list, upgrae button and some annoying dialogs.
// @version 4.9.5
// @grant none
// @icon https://inoreader.com/favicon.ico
// @include https://*.inoreader.com/*
// @include http://*.inoreader.com/*
// @namespace   https://raw.githubusercontent.com/Hacksign/configs/master/firefox/plugins/greasemonkey/inoreader.user.js
// ==/UserScript==
var tools_div = document.getElementById('sb_rp_tools');
if (tools_div) {
    tools_div.style.right = '90px';
}
var notifications_div = document.getElementById('sb_rp_notifications');
if (notifications_div) {
    notifications_div.style.right = '50px';
}
var gear_div = document.getElementById('sb_rp_gear');
if (gear_div) {
    gear_div.style.right = '10px';
}
var upgrade_div = document.getElementById('sb_rp_upgrade') || document.getElementById('upgrade-cta');
if (upgrade_div) {
    upgrade_div.style.display = 'none';
    // new version's user icon layer
    var target_div = document.getElementsByClassName('article-container');
    for(var i = 0; i < target_div.length; ++i) {
        if(target_div[i].nodeName.toLowerCase() === 'nav') {
            target_div[i].style.paddingRight = '52px';
        }
    }
}
var reader_pane_div = document.getElementById('reader_pane');
if (reader_pane_div) {
    reader_pane_div.addEventListener('DOMNodeInserted', function (e) {
        var relatedObj = e.originalTarget || e.target;
        if(relatedObj.parentNode) {
            if (relatedObj.id && relatedObj.id.indexOf('leaderboard_ad-') != - 1) {
                relatedObj.parentNode.removeChild(relatedObj);
            } else if (relatedObj.classList && relatedObj.classList.contains('ad_title')) {
                relatedObj.parentNode.removeChild(relatedObj);
            } else if (relatedObj.classList && relatedObj.classList.contains('dashboard_gadgets')) {
                //find and remove ads div in dashboard page
                var sub_divs = relatedObj.getElementsByTagName('div');
                for (var i = 0; i < sub_divs.length; ++i) {
                    if (sub_divs[i].classList && sub_divs[i].classList.contains('header_control')) {
                        if (!sub_divs[i].innerHTML.trim()) {
                            relatedObj.parentNode.removeChild(relatedObj);
                        }
                    }
                }
            }
        }
    }, false);
}
var sinner_div = document.getElementById('sinner_container');
if(sinner_div) {
    sinner_div.addEventListener('DOMNodeInserted', function(e) {
        var relatedObj = e.originalTarget || e.target;
        if(relatedObj.style){
            sinner_div.style.display = 'none';
            if(reader_pane_div) {
                reader_pane_div.style.paddingRight = '0px';
            }
        }
    });
}
var content_div = document.getElementById('three_way_contents');
if (content_div) {
    content_div.addEventListener('scroll', function () {
        if (content_div.scrollTop !== 0 && !document.getElementById('_gm_hacksign_topbar_content')) {
            var topbar = document.createElement('div');
            topbar.id = '_gm_hacksign_topbar_content';
            topbar.style.background = 'rgba(0, 0, 0, 0.3) none repeat scroll 0px 0px';
            topbar.style.position = 'fixed';
            topbar.style.textAlign = 'center';
            topbar.style.right = '20px';
            topbar.style.bottom = '10px';
            topbar.style.lineHeight = '30px';
            topbar.style.cursor = 'pointer';
            topbar.style.width = '40px';
            topbar.style.height = '40px';
            topbar.className='icon-arrow_up_big';
            topbar.onclick = function () {
                var y = content_div.scrollTop;
                var timer = setInterval(function () {
                    y = y - y / 5;
                    if (y < 50) {
                        y = 0;
                        content_div.scrollTop = 0;
                        clearInterval(timer);
                    }else content_div.scrollTop -= y;
                }, '25');
            };
            content_div.appendChild(topbar);
        } else if (content_div.scrollTop === 0 && document.getElementById('_gm_hacksign_topbar_content')) {
            content_div.removeChild(document.getElementById('_gm_hacksign_topbar_content'));
        }
    });
    content_div.addEventListener('DOMNodeInserted', function (e) {
        var relatedObj = e.originalTarget || e.target;
        if (relatedObj.id && relatedObj.id.indexOf('taboola_ad-') != - 1) {
            relatedObj.parentNode.removeChild(relatedObj);
        }
        if (relatedObj.id && relatedObj.id.indexOf('no_article_selected') != -1){
            relatedObj.addEventListener('DOMNodeInserted', function(f){
                var relatedObj2 = f.originalTarget || f.target;
                if(relatedObj2){
                    if(relatedObj2.getElementsByClassName && relatedObj2.getElementsByClassName('ad_title').length !== 0){
                        relatedObj2.getElementsByClassName('ad_title')[0].parentNode.removeChild(relatedObj2.getElementsByClassName('ad_title')[0]);
                    }
                    if(relatedObj2.getElementsByClassName && relatedObj2.getElementsByClassName('sinner_inner').length !== 0){
                        if(relatedObj2.getElementsByClassName('sinner_inner')[0]){
                            var div_sinn_inner = relatedObj2.getElementsByClassName('sinner_inner');
                            for(var i = 0; i < relatedObj2.getElementsByClassName('sinner_inner')[0].childNodes.length; ++i){
                                if(relatedObj2.getElementsByClassName('sinner_inner')[0].childNodes[i].id.indexOf('column_ad-') != -1){
                                    relatedObj2.getElementsByClassName('sinner_inner')[0].childNodes[i].style.display = 'none';
                                }
                            }
                        }
                    }
                    if(relatedObj2.getElementsByClassName && relatedObj2.getElementsByClassName('ad_footer_remove').length !== 0){
                        relatedObj2.getElementsByClassName('ad_footer_remove')[0].parentNode.removeChild(relatedObj2.getElementsByClassName('ad_footer_remove')[0]);
                    }
                }
            });
        }
        if (relatedObj.id && relatedObj.id.indexOf('article_full_contents') != - 1) {
            relatedObj.addEventListener('DOMNodeInserted', function (f) {
                var relatedObj2 = f.originalTarget || f.target;
                if(relatedObj2){
                    if (relatedObj2.classList && relatedObj2.classList.contains('ad_title')) {
                        relatedObj2.parentNode.removeChild(relatedObj2);
                    }
                    if (relatedObj2.attributes && relatedObj2.attributes.length === 0 && relatedObj2.childNodes.length !== 0) {
                        for (var i = 0; i < relatedObj2.childNodes.length; ++i) {
                            if (relatedObj2.childNodes[i].id.indexOf('inner_ad-') != - 1) {
                                relatedObj2.childNodes[i].style.display = 'none';
                            }
                        }
                    }
                    if (relatedObj2.classList && relatedObj2.classList.contains('ad_footer_remove')) {
                        relatedObj2.parentNode.removeChild(relatedObj2);
                    }
                    if (relatedObj2.classList && relatedObj2.classList.contains('sinner_under_footer')) {
                        relatedObj2.parentNode.removeChild(relatedObj2);
                        relatedObj.style.paddingBottom = '20px';
                    }
                }
            }, false);
        }
    }, false);
}

document.body.addEventListener('DOMNodeInserted', function (e) {
    var relatedObj = e.originalTarget || e.target;
    if(relatedObj) {
        if(relatedObj.id && relatedObj.id.indexOf('_scroll_overlay') != -1) {
            var div_id = relatedObj.id.substr(0, relatedObj.id.indexOf('_scroll_overlay'));
            var img_elements = document.getElementById(div_id).getElementsByTagName('img');
            if(img_elements.length == 1) {
                var img_src = img_elements[0].src;
                if(/jpg-\w+\.svg$/.test(img_src)) {
                    document.body.removeChild(relatedObj);
                    document.body.removeChild(
                        document.getElementById(div_id + '_modal_overlay')
                    );
                }
            }
        }
    }
});