PW Page Loader
Javascript library to load pages using ajax and append the result in the current page, in order to create a infinite scrolling. It has the following features:
- Follows the progressive enhancement strategy: if javascript fails, the web page keeps working
- Accessible: After load the new page, the history url and title is changed. This allows to copy and share the url.
- High performance: Use the Intersection Observer API (and a polyfill) to track the page viewed currently.
Install
Requirements:
- NPM or Yarn to install the package and the dependencies
- Webpack (or any other javascript loader)
npm install pw-page-loader
Usage
HTML
Let's start with the following html code:
Next Page
JS
Use javascript for a complete experience:
; //Init the loaderconst loader = '.images' '.pagination a'; //Enable auto-clickloader;
API
constructor
Create a new instance of PageLoader
. The arguments are:
resultSelector
A string with the css selector to the list of the resultbuttonSelector
A string with the css selector to the link to the next pagecontext
Optional context for the selectors. The default value isdocument
.
on
Register events in the page loader workflow. The available events are:
beforeLoadPage
Just before load a new pageloadPage
When a new page has been loadedchangePage
When the current page has changed
loader; loader; loader;
off
Unregister one or all callbacks of an event
//unregister one callbackloader; //unregister all callbacksloader;
Demo
To run the demo, just clone this repository enter in the directory and execute:
npm installnpm start
You should see something in http://localhost:8080/