Mangaelo declutter and shortcuts

Removes shit from mangaelo

  1. // ==UserScript==
  2. // @name Mangaelo declutter and shortcuts
  3. // @namespace https://github.com/Bobocato/Userscripts
  4. // @version 1.0
  5. // @description Removes shit from mangaelo
  6. // @author Bobocato
  7. // @match https://manganelo.com/chapter/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11. var autoload = true;
  12.  
  13. (function() {
  14. 'use strict';
  15. //Remove Header and footer stuff
  16. //Header
  17. document.getElementsByClassName("logo_chapter")[0].remove();
  18. document.getElementsByClassName("breadcrumb")[0].remove();
  19. document.getElementsByClassName("option_wrap")[0].remove();
  20. document.getElementsByClassName("info-top-chapter")[0].remove();
  21. //Footer
  22. document.getElementsByClassName("breadcrumb")[0].remove();
  23. document.getElementsByTagName("footer")[0].remove();
  24. document.getElementsByClassName("comments")[0].remove();
  25. let as = document.getElementsByTagName("A")
  26. for(let i = 0; i < as.length; i++){
  27. if(as[i].href == "https://manganelo.com/home"){
  28. as[i].remove();
  29. i = 500;
  30. }
  31. }
  32.  
  33. if(autoload){
  34. var timer = null;
  35. window.addEventListener("scroll", function(event) {
  36. var e = document.documentElement;
  37. if (e.scrollHeight - e.scrollTop === e.clientHeight)
  38. {
  39. console.log("Bomb has been planted");
  40. timer = setTimeout(nextChapter, 1500);
  41. } else {
  42. if (timer != null){
  43. console.log("Bomb has been defused");
  44. clearTimeout(timer);
  45. timer = null;
  46. }
  47. }
  48. });
  49. }
  50. document.addEventListener("keydown", keyDownTextField, false);
  51.  
  52. function keyDownTextField(e) {
  53. var search = document.getElementsByClassName("searchinput")[0];
  54. if (document.activeElement !== search) {
  55. switch (e.which) {
  56. case 37: // "Arrow Left"
  57. document.getElementsByClassName("next")[0].click();
  58. break;
  59. case 39: // "Arrow Right"
  60. nextChapter();
  61. break
  62. default:
  63. return; // exit this handler for other keys
  64. }
  65. e.preventDefault(); // prevent the default action
  66. } else if (e.which == 32) {
  67. search.value += " ";
  68. e.preventDefault();
  69. }
  70. return;
  71. }
  72.  
  73. function nextChapter(){
  74. document.getElementsByClassName("back")[0].click();
  75. }
  76.  
  77. function getDocHeight() {
  78. var D = document;
  79. return Math.max(
  80. D.body.scrollHeight, D.documentElement.scrollHeight,
  81. D.body.offsetHeight, D.documentElement.offsetHeight,
  82. D.body.clientHeight, D.documentElement.clientHeight
  83. );
  84. }
  85. })();