Skip to content

genderev/prerender.js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

95 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

png GitHub license GitHub license1 GitHub license GitHub license2 GitHub license31 GitHub license3 Gitpod Ready-to-Code

prerender.js

prerender.js loads pages quickly on any browser.

Project Features

Prerendering loads all the assets of a page before the user navigates to that page. Conventionally, prerendering is like opening the URL in a hidden tab and then showing that hidden tab once the user clicks on it.

prerender.js is a way to preload any link the user hovers over. Based on a prerendering polyfill, it loads the next page in a hidden iframe. If that link is in a button or link element, prerender.js runs. If the user is on mobile, prerender.js runs. If the user's browser is Internet Explorer 8, prerender.js runs. prerender.js focuses on the guarantee of web performance for all users.

Data

A page on my site without prerender.js had 1.37s page load. With prerender.js that same page had a 600ms page load. A website where this is already live is under development, but you can ask me about it later when it's done.

Installers

For Node: npm i prerender_all

For the browser: <script src="https://cdn.jsdelivr.net/npm/[email protected]/prerender.js" integrity="sha256-24v6xZyfIpefNGAWj+r65XOkqCkF9joivvLRloIyccQ=" crossorigin="anonymous"></script>

Downloading

You can also self-host by downloading prerender.js from Github and including it in your webpage as a script. Self-hosting is as simple as that - wherever your html files are, put the code for prerender.js there too.

After you've downloaded prerender.js, copy this line of code and include it in your website:

<script src="prerender.js"></script>

Documentation

To use prerender.js with buttons, check out buttons.js in the file directory. Links do not require any configuration to enable prerender besides including the code for the script on the page.

Contributors

If you want to make the functionality for buttons better, make a pull request to the Github repo. If you think I missed something, make a pull request to this repo! I haven't been using this for a long time so I would love feedback and improvement. If you find a bug, try letting me know in the Issues tab.

Credit