Remove inoreader ADS

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

  1. // ==UserScript==
  2. // @name Remove inoreader ADS
  3. // @description Remove inoreader.com's advertisement in reading list, upgrae button and some annoying dialogs.
  4. // @version 4.9.5
  5. // @grant none
  6. // @icon https://inoreader.com/favicon.ico
  7. // @include https://*.inoreader.com/*
  8. // @include http://*.inoreader.com/*
  9. // @namespace https://raw.githubusercontent.com/Hacksign/configs/master/firefox/plugins/greasemonkey/inoreader.user.js
  10. // ==/UserScript==
  11. var tools_div = document.getElementById('sb_rp_tools');
  12. if (tools_div) {
  13. tools_div.style.right = '90px';
  14. }
  15. var notifications_div = document.getElementById('sb_rp_notifications');
  16. if (notifications_div) {
  17. notifications_div.style.right = '50px';
  18. }
  19. var gear_div = document.getElementById('sb_rp_gear');
  20. if (gear_div) {
  21. gear_div.style.right = '10px';
  22. }
  23. var upgrade_div = document.getElementById('sb_rp_upgrade') || document.getElementById('upgrade-cta');
  24. if (upgrade_div) {
  25. upgrade_div.style.display = 'none';
  26. // new version's user icon layer
  27. var target_div = document.getElementsByClassName('article-container');
  28. for(var i = 0; i < target_div.length; ++i) {
  29. if(target_div[i].nodeName.toLowerCase() === 'nav') {
  30. target_div[i].style.paddingRight = '52px';
  31. }
  32. }
  33. }
  34. var reader_pane_div = document.getElementById('reader_pane');
  35. if (reader_pane_div) {
  36. reader_pane_div.addEventListener('DOMNodeInserted', function (e) {
  37. var relatedObj = e.originalTarget || e.target;
  38. if(relatedObj.parentNode) {
  39. if (relatedObj.id && relatedObj.id.indexOf('leaderboard_ad-') != - 1) {
  40. relatedObj.parentNode.removeChild(relatedObj);
  41. } else if (relatedObj.classList && relatedObj.classList.contains('ad_title')) {
  42. relatedObj.parentNode.removeChild(relatedObj);
  43. } else if (relatedObj.classList && relatedObj.classList.contains('dashboard_gadgets')) {
  44. //find and remove ads div in dashboard page
  45. var sub_divs = relatedObj.getElementsByTagName('div');
  46. for (var i = 0; i < sub_divs.length; ++i) {
  47. if (sub_divs[i].classList && sub_divs[i].classList.contains('header_control')) {
  48. if (!sub_divs[i].innerHTML.trim()) {
  49. relatedObj.parentNode.removeChild(relatedObj);
  50. }
  51. }
  52. }
  53. }
  54. }
  55. }, false);
  56. }
  57. var sinner_div = document.getElementById('sinner_container');
  58. if(sinner_div) {
  59. sinner_div.addEventListener('DOMNodeInserted', function(e) {
  60. var relatedObj = e.originalTarget || e.target;
  61. if(relatedObj.style){
  62. sinner_div.style.display = 'none';
  63. if(reader_pane_div) {
  64. reader_pane_div.style.paddingRight = '0px';
  65. }
  66. }
  67. });
  68. }
  69. var content_div = document.getElementById('three_way_contents');
  70. if (content_div) {
  71. content_div.addEventListener('scroll', function () {
  72. if (content_div.scrollTop !== 0 && !document.getElementById('_gm_hacksign_topbar_content')) {
  73. var topbar = document.createElement('div');
  74. topbar.id = '_gm_hacksign_topbar_content';
  75. topbar.style.background = 'rgba(0, 0, 0, 0.3) none repeat scroll 0px 0px';
  76. topbar.style.position = 'fixed';
  77. topbar.style.textAlign = 'center';
  78. topbar.style.right = '20px';
  79. topbar.style.bottom = '10px';
  80. topbar.style.lineHeight = '30px';
  81. topbar.style.cursor = 'pointer';
  82. topbar.style.width = '40px';
  83. topbar.style.height = '40px';
  84. topbar.className='icon-arrow_up_big';
  85. topbar.onclick = function () {
  86. var y = content_div.scrollTop;
  87. var timer = setInterval(function () {
  88. y = y - y / 5;
  89. if (y < 50) {
  90. y = 0;
  91. content_div.scrollTop = 0;
  92. clearInterval(timer);
  93. }else content_div.scrollTop -= y;
  94. }, '25');
  95. };
  96. content_div.appendChild(topbar);
  97. } else if (content_div.scrollTop === 0 && document.getElementById('_gm_hacksign_topbar_content')) {
  98. content_div.removeChild(document.getElementById('_gm_hacksign_topbar_content'));
  99. }
  100. });
  101. content_div.addEventListener('DOMNodeInserted', function (e) {
  102. var relatedObj = e.originalTarget || e.target;
  103. if (relatedObj.id && relatedObj.id.indexOf('taboola_ad-') != - 1) {
  104. relatedObj.parentNode.removeChild(relatedObj);
  105. }
  106. if (relatedObj.id && relatedObj.id.indexOf('no_article_selected') != -1){
  107. relatedObj.addEventListener('DOMNodeInserted', function(f){
  108. var relatedObj2 = f.originalTarget || f.target;
  109. if(relatedObj2){
  110. if(relatedObj2.getElementsByClassName && relatedObj2.getElementsByClassName('ad_title').length !== 0){
  111. relatedObj2.getElementsByClassName('ad_title')[0].parentNode.removeChild(relatedObj2.getElementsByClassName('ad_title')[0]);
  112. }
  113. if(relatedObj2.getElementsByClassName && relatedObj2.getElementsByClassName('sinner_inner').length !== 0){
  114. if(relatedObj2.getElementsByClassName('sinner_inner')[0]){
  115. var div_sinn_inner = relatedObj2.getElementsByClassName('sinner_inner');
  116. for(var i = 0; i < relatedObj2.getElementsByClassName('sinner_inner')[0].childNodes.length; ++i){
  117. if(relatedObj2.getElementsByClassName('sinner_inner')[0].childNodes[i].id.indexOf('column_ad-') != -1){
  118. relatedObj2.getElementsByClassName('sinner_inner')[0].childNodes[i].style.display = 'none';
  119. }
  120. }
  121. }
  122. }
  123. if(relatedObj2.getElementsByClassName && relatedObj2.getElementsByClassName('ad_footer_remove').length !== 0){
  124. relatedObj2.getElementsByClassName('ad_footer_remove')[0].parentNode.removeChild(relatedObj2.getElementsByClassName('ad_footer_remove')[0]);
  125. }
  126. }
  127. });
  128. }
  129. if (relatedObj.id && relatedObj.id.indexOf('article_full_contents') != - 1) {
  130. relatedObj.addEventListener('DOMNodeInserted', function (f) {
  131. var relatedObj2 = f.originalTarget || f.target;
  132. if(relatedObj2){
  133. if (relatedObj2.classList && relatedObj2.classList.contains('ad_title')) {
  134. relatedObj2.parentNode.removeChild(relatedObj2);
  135. }
  136. if (relatedObj2.attributes && relatedObj2.attributes.length === 0 && relatedObj2.childNodes.length !== 0) {
  137. for (var i = 0; i < relatedObj2.childNodes.length; ++i) {
  138. if (relatedObj2.childNodes[i].id.indexOf('inner_ad-') != - 1) {
  139. relatedObj2.childNodes[i].style.display = 'none';
  140. }
  141. }
  142. }
  143. if (relatedObj2.classList && relatedObj2.classList.contains('ad_footer_remove')) {
  144. relatedObj2.parentNode.removeChild(relatedObj2);
  145. }
  146. if (relatedObj2.classList && relatedObj2.classList.contains('sinner_under_footer')) {
  147. relatedObj2.parentNode.removeChild(relatedObj2);
  148. relatedObj.style.paddingBottom = '20px';
  149. }
  150. }
  151. }, false);
  152. }
  153. }, false);
  154. }
  155.  
  156. document.body.addEventListener('DOMNodeInserted', function (e) {
  157. var relatedObj = e.originalTarget || e.target;
  158. if(relatedObj) {
  159. if(relatedObj.id && relatedObj.id.indexOf('_scroll_overlay') != -1) {
  160. var div_id = relatedObj.id.substr(0, relatedObj.id.indexOf('_scroll_overlay'));
  161. var img_elements = document.getElementById(div_id).getElementsByTagName('img');
  162. if(img_elements.length == 1) {
  163. var img_src = img_elements[0].src;
  164. if(/jpg-\w+\.svg$/.test(img_src)) {
  165. document.body.removeChild(relatedObj);
  166. document.body.removeChild(
  167. document.getElementById(div_id + '_modal_overlay')
  168. );
  169. }
  170. }
  171. }
  172. }
  173. });

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址