offline-handler
Version:
Allow your users to use your website while offline easily
78 lines (61 loc) • 2.31 kB
Markdown
Allow your users to use your website while offline easily
* **Installation**
Simply import `OfflineHandler.min.js` into your HTML **and** download <a href="https://raw.githubusercontent.com/Zenoo/offline-handler/master/OfflineHandler-sw.min.js" target="_blank">`OfflineHandler-sw.min.js`</a> **at the root of your project**.
```
<script src="https://unpkg.com/offline-handler@0.4.1/OfflineHandler.min.js"></script>
```
* **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.
* **Zenoo** - *Initial work* - [Zenoo.fr](https://zenoo.fr)