Manga Loader (unmaintained)

Support for over 70 sites! Loads manga chapter into one page in a long strip format, supports switching chapters, minimal script with no dependencies, easy to implement new sites, loads quickly and works on mobile devices through bookmarklet

Old: v1.11.7 - 2016-12-06 - added helveticascans.com
New: v1.11.8 - 2017-01-25 - fixed zooming messing up height of page and making it hard to load more images

  • --- /tmp/diffy20250429-307675-vg8ved 2025-04-29 16:39:43.566092133 +0000
  • +++ /tmp/diffy20250429-307675-7e67xy 2025-04-29 16:39:43.566092133 +0000
  • @@ -1,7 +1,7 @@
  • // ==UserScript==
  • // @name Manga Loader
  • // @namespace http://www.fuzetsu.com/MangaLoader
  • -// @version 1.11.7
  • +// @version 1.11.8
  • // @description Support for over 70 sites! Loads manga chapter into one page in a long strip format, supports switching chapters, minimal script with no dependencies, easy to implement new sites, loads quickly and works on mobile devices through bookmarklet
  • // @copyright 2016+, fuzetsu
  • // @noframes
  • @@ -1806,20 +1806,28 @@
  • }
  • });
  • // zoom
  • - var lastZoom = 1;
  • + var lastZoom, originalZoom;
  • var changeZoom = function(action, elem) {
  • var curImage = getCurrentImage();
  • + if(!lastZoom) {
  • + lastZoom = originalZoom = Math.round(curImage.clientWidth / window.innerWidth * 100);
  • + }
  • var zoom = lastZoom;
  • - if(action === '+') zoom += 0.15;
  • - if(action === '-') zoom -= 0.15;
  • - if(action === '=') zoom = 1;
  • - if(zoom < 0) {
  • - zoom = lastZoom;
  • + if(action === '+') zoom += 5;
  • + if(action === '-') zoom -= 5;
  • + if(action === '=') {
  • + lastZoom = originalZoom;
  • + addStyle('image-width', true, '');
  • + showFloatingMsg('reset zoom', 500);
  • + curImage.scrollIntoView();
  • return;
  • }
  • + zoom = Math.max(10, Math.min(zoom, 100));
  • lastZoom = zoom;
  • - elem.style.transform = 'scale(' + zoom + ')';
  • - showFloatingMsg('zoom: ' + Math.round(zoom * 100) + '%', 500);
  • + addStyle('image-width', true, toStyleStr({
  • + width: zoom + '%'
  • + }, '.ml-images img'));
  • + showFloatingMsg('zoom: ' + zoom + '%', 500);
  • curImage.scrollIntoView();
  • };
  • // keybindings