Remove inoreader ADS

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

当前为 2020-03-05 提交的版本,查看 最新版本

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