NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Novel Planet Utilities // @namespace http://tampermonkey.net/ // @version 1.1 // @description Adds a first chapter button to the Novel Page. Adds auto loading of Novels on the front page. // @author Haxorsnake // @match https://novelplanet.com/* // @grant none // @updateURL https://openuserjs.org/meta/Haxorsnake/Novel_Planet_Utilities.meta.js // @license MIT // ==/UserScript== (function() { 'use strict'; const novelPage = document.location.href; function getFirst() { let firstChapter = document.querySelectorAll("div.rowChapter")[document.querySelectorAll("div.rowChapter").length -1]; let firstLink = firstChapter.getAttribute("alink"); return firstLink; } function clickFunction(teyy) { var divLoading = $(teyy).parent().siblings('.divLoading'); var divMore = $(teyy); var numItems = parseInt(divMore.attr('numItems')); divLoading.show(); divMore.hide(); var sortValue = $(teyy).attr('sort'); $.ajax( { type: "POST", url: "/Home/GetNextNovels", dataType: "html", data: { id: numItems, sort: sortValue }, success: function (message) { if (message !== "") { divMore.parent().parent().siblings('div').append(message); numItems += 20; divMore.attr('numItems', numItems); divLoading.hide(); divMore.show(); //MapClick($('article')); } else { divLoading.html("That's all we have for now."); } } }); } function makeButton(link) { let button = document.createElement("span"); let bText = document.createTextNode("First Chapter"); let bLink = document.createElement("a"); let locationNolog = document.querySelector("#spanBookmark"); let locationLog = document.querySelector("#spanBookmarkManager"); bLink.append(bText); bLink.setAttribute("href", link); bLink.setAttribute("class", "button small"); button.append(bLink); if(locationNolog){ locationNolog.parentElement.append(button); }else if(locationLog){ locationLog.parentElement.append(button); }else { return false; } } if(novelPage.includes('Novel')){ if(novelPage.includes('id') === false){ makeButton(getFirst()); } }else{ $(window).scroll(function() { if($(window).scrollTop() + $(window).height() > $(document).height() - 1) { clickFunction('.btnMore'); } }); } })();