instajax
Version:
Instantly move your multi page application navigations to AJAX
54 lines (46 loc) • 2.06 kB
Markdown
# 🚀 Instajax
Instajax is a lightweight JavaScript library that enhances web app navigation by seamlessly updating
content via AJAX without reloading the page. It leverages modern browser features like `fetch`,
`history.pushState`, and `MutationObserver` to provide a smooth user experience.
## 📋 Features
- ⚡ **Lightweight**: Extremely lightweight, perfect for performance-conscious applications.
- 🌍 **Seamless Navigation**: Updates content without reloading the page using AJAX.
- 🖥️ **Modern Browser Support**: Utilizes cutting-edge browser APIs (`fetch`, `history.pushState`, and
`MutationObserver`).
- 🎨 **Customization Options**: Easily customize error templates with HTML strings or URLs to external
files.
- 🛠️ **Easy Integration**: Seamlessly integrates into projects via CDN, npm, or yarn for easy adoption.
## 🛠️ Usage
### CDN Method
Put the script tag to head of your template HTML. It will initialize automatically.
```html
<script type="module" src="https://unpkg.com/instajax@1.7.1/dist/min.js"></script>
```
### Package Manager Method
You can install it via npm or yarn and import it in your project:
```bash
npm install instajax
```
Then in your main client-side JavaScript code, just import it:
```javascript
import 'instajax';
```
Within your HTML, Instajax will handle links automatically without reloading the page:
```html
<a href="/new-page">Go to new page via instajax</a>
<a href="/new-page" class="skip-instajax">Go to new page without instajax</a>
```
## 🎨 Customization
To customize the error template, you can call the default function with a custom HTML string or URL
pointing to an HTML file:
```javascript
import instajax from 'instajax';
instajax({ errorHTML: '<div class="error">%error%</div>' });
```
or
```javascript
instajax({ errorHTML: 'url("/error.html")' });
```
## 📡 API Functions
- **default({ errorHTML })**
Customizes the default error template with a provided HTML string or URL pointing to an HTML file.