Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/zenoo/offline-handler

Allow your users to use your website while offline easily
https://github.com/zenoo/offline-handler

offline offline-app service-worker

Last synced: about 1 month ago
JSON representation

Allow your users to use your website while offline easily

Awesome Lists containing this project

README

        

# OfflineHandler [(Demo)](https://zenoo.github.io/offline-app-example/)

Allow your users to use your website while offline easily

### Doc

* **Installation**

Simply import `OfflineHandler.min.js` into your HTML **and** download `OfflineHandler-sw.min.js` **at the root of your project**.
```

```
* **How to use**

* Create a new [`OfflineHandler`](https://zenoo.github.io/offline-handler/OfflineHandler.html) object with the ressources to be cached as the first parameter :
```
let ajax = new OfflineHandler(['path/to/customFile.js'], ...);
```

* Call your URLs with an additional parameter : `?v=1`, or without any to get the default version.
Changing this parameter will create a new cache version.
Calling your URLs with `?v=no-cache` will bypass the cached versions

* **Parameters**

```
/**
* List of ressources to be cached
* The current page is always cached, no need to add it here
* @type {String[]}
*/
const ressourceList = [
'path/to/customFile.js',
'pathto/the/customCss.css'
];

/**
* /|\ OPTIONAL /|\
* Path to the OfflineHandler ServiceWorker file
* @type {String}
* @default OfflineHandler-sw.min.js
*/
const serviceWorkerPath = 'OfflineHandler-sw.min.js';

/**
* /|\ OPTIONAL /|\
* Name of the URL parameter that holds the version of the files
* @type {String}
* @default v
*/
const versionParameter = 'v';

/**
* /|\ OPTIONAL /|\
* Should the old cached versions be deleted when a new one is created ?
* @type {Boolean}
* @default false
*/
const clearOldCache = false;

/**
* /|\ OPTIONAL /|\
* Should external requests be cached ?
* @type {Boolean}
* @default false
*/
const cacheExternalRequests = false;

new OfflineHandler(ressourceList, serviceWorkerPath, versionParameter, clearOldCache, cacheExternalRequests);
```

* **Example**

See this [Github project](https://github.com/Zenoo/offline-app-example) for a working example.

## Authors

* **Zenoo** - *Initial work* - [Zenoo.fr](https://zenoo.fr)