Greasy Fork is available in English.

Furaffinity Webcomic Autoloader SX

Gives you the option to load all the subsequent comic pages on a FurAffinity comic page automatically.

// ==UserScript==
// @name     			Furaffinity Webcomic Autoloader SX
// @version  			0.1.2
// @description  	Gives you the option to load all the subsequent comic pages on a FurAffinity comic page automatically.
// @grant    			none
// @author   			Sofox
// @match    			*://*.furaffinity.net/view/*
// @namespace     https://www.sofoxcentral.com
// ==/UserScript==
var rootHolder = document.getElementById("submissionImg");
var counter = 5;

function insertAfter(newElement, referenceElement){
        referenceElement.parentNode.insertBefore(newElement, referenceElement.nextSibling);
}
function insertBreakAfter(referenceElement){
   var br = document.createElement("br");
   insertAfter(br, referenceElement)
}

function getNextLink(doc){
  	if(doc.getElementsByClassName("parsed_nav_links")[0].childNodes.length<5){
      return null;
    }
		return doc.getElementsByClassName("parsed_nav_links")[0].childNodes[4].href
}

function loadNextPage(nextLink){

  if(nextLink){
    console.log("Loading next..."); 
    var request = new XMLHttpRequest();
    request.open('GET', nextLink, true);

    request.onload = function() {
      if (this.status >= 200 && this.status < 400) {
        // Success!
        //var data = JSON.parse(this.response);
        parser = new DOMParser();
        var nextPage = parser.parseFromString(this.response, "text/html");
        //alert(this.response)
        var nl = getNextLink(nextPage)
        var img = nextPage.getElementById("submissionImg")

        rootHolder.parentNode.insertBefore(img, rootHolder.nextSibling);
        rootHolder = rootHolder.nextSibling
        
        insertBreakAfter(rootHolder);
        rootHolder = rootHolder.nextSibling
        
        var lnk = document.createElement('a');
        var lnkURL = nextLink 
        lnk.innerHTML = lnkURL
        lnk.href = lnkURL
        insertAfter(lnk, rootHolder)
        rootHolder = rootHolder.nextSibling
        
        insertBreakAfter(rootHolder);
        rootHolder = rootHolder.nextSibling
        
        loadNextPage(nl);
      } else {
        // We reached our target server, but it returned an error
        console.log("none")
      }
    };

    request.onerror = function() {
      // There was a connection error of some sort
          console.log("error");
    };

    request.send();
  }
}
function startAutoloader(){
	//alert("starting...");
  var ab = document.getElementById("autoloaderButton");
  ab.parentNode.removeChild(ab);
  loadNextPage(secondPage);
}

var secondPage = getNextLink(document)
if(secondPage){
  var img = document.getElementById("submissionImg")

  insertBreakAfter(rootHolder);
  rootHolder = rootHolder.nextSibling

  var button = document.createElement('input');
  button.value = "Enable Comic Autoloader (SX)"
  button.type = "button"
  button.id = "autoloaderButton";
  button.onclick = startAutoloader
  insertAfter(button, rootHolder)
}