NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Amazon Autopager // @version 1.07 // @author XFox Prower // @namespace http://www.TailsArchive.net/ // @description Loads next page of search results automatically on Amazon // @include https://www.amazon.com/s/* // @include https://www.amazon.com/gp/search/* // @include https://smile.amazon.com/s/* // @include https://www.amazon.ca/s/* // @include https://www.amazon.de/s/* // @include https://www.amazon.co.uk/s/* // @include https://www.amazon.co.jp/s/* // @grant none // ==/UserScript== 'use strict'; function fscroll() { var next, req, nexthref; if(lock) { return; } next=D.getElementById('pagnNextLink'); if(next.getBoundingClientRect().bottom<innerHeight>>1) { lock=true; cont=D.getElementById('s-results-list-atf'); pager=D.getElementById('pagn'); nexthref=next.href; req=new XMLHttpRequest(); req.open('GET',nexthref); req.responseType='document'; req.onload=xhrLoaded; req.send(); history.pushState(null,'',nexthref); } } function xhrLoaded() { const res=this.response, col=res.querySelectorAll('li[id^=result_]'), len=col.length, frag=D.createDocumentFragment(); var i=0; while(i<len) { frag.appendChild(col[i]); i++; } cont.appendChild(frag); pager.parentNode.replaceChild(res.getElementById('pagn'),pager); lock=false; } const D=document; var cont, pager, lock=false; addEventListener('scroll',fscroll);